当前位置: 首页 > news >正文

计算矩阵A和B的乘积

根据矩阵乘法规则,编程计算矩阵的乘积。函数fix_prod_ele()是基本方法编写,函数fix_prod_opt()是优化方法编写。

程序代码

#define    N     3
#define    M     4
typedef int fix_matrix1[N][M];
typedef int fix_matrix2[M][N];
int fix_prod_ele(fix_matrix1,fix_matrix2,int,int);
int fix_prod_opt(fix_matrix1,fix_matrix2,int,int);
void main()
{int i,j,k;int C[N][N],D[N][N];fix_matrix1 A;fix_matrix2 B;for(i=0;i<N;i++)      //A、B矩阵赋初值for(j=0;j<M;j++){A[i][j]=i+j;}for(i=0;i<M;i++)      //A、B矩阵赋初值for(j=0;j<N;j++){B[i][j]=i+j+1;}	for(i=0;i<N;i++)for(k=0;k<N;k++)C[i][k]=fix_prod_ele(A,B,i,k);   //C为矩阵A和B的乘积for(i=0;i<N;i++)for(k=0;k<N;k++)D[i][k]=fix_prod_opt(A,B,i,k);   //D为矩阵A和B的乘积while(1);
}
int fix_prod_ele(fix_matrix1 A,fix_matrix2 B,int i,int k)
{int l;int result=0;for(l=0;l<M;l++)result+=A[i][l]*B[l][k];return result;
}int fix_prod_opt(fix_matrix1 A,fix_matrix2 B,int i,int k)
{int *Arow=&A[i][0];int *Bptr=&B[0][k];int result=0;int l;for(l=0;l!=M;l++){result+=Arow[l]*(*Bptr);Bptr+=N;}return result;
}

A[3][4]=\begin{bmatrix} 0 & 1 & 2&3 \\ 1 & 2& 3& 4\\ 2 & 3& 4 & 5 \end{bmatrix}     B[4][3]=\begin{bmatrix} 1 & 2 &3 \\ 2 & 3 &4 \\ 3 & 4 & 5\\ 4& 5 & 6 \end{bmatrix}

C[3][3]=D[3][3]=\begin{bmatrix} 0x14 & 0x1A&0x20 \\ 0x1E& 0x28& 0x32\\ 0x28& 0x36& 0x44 \end{bmatrix}

相关文章:

  • LeetCode刷题 -- 542. 【01 矩阵】最短距离更新算法实现(双向DP)
  • 步进电机调试记录(先让我的步进电机转起来)
  • DeepSeek09-open-webui使用
  • 打卡第47天
  • 意识上传伦理前夜:我们是否在创造数字奴隶?
  • STC8H系列 驱动步进电机
  • 前端开发面试题总结-JavaScript篇(二)
  • PostgreSQL authentication method 10 not supported
  • oracle 归档日志与RECOVERY_FILE_DEST 视图
  • 队列的概念及实现
  • Anaconda
  • 开源技术驱动下的上市公司财务主数据管理实践
  • RSA加密算法:非对称密码学的基石
  • Python Cookbook-7.11 在 PostgreSQL 中储存 BLOB
  • 如何在Unity中实现点击一个按钮跳转到哔哩哔哩
  • 【LeetCode】3170. 删除星号以后字典序最小的字符串(贪心 | 优先队列)
  • 图上合成:用于大型语言模型持续预训练的知识合成数据生成
  • 征文投稿:如何写一份实用的技术文档?——以软件配置为例
  • QT聊天项目DAY14
  • 第4章:Cypher查询语言基础
  • 企业公示信息查询系统广西/seo网络培训机构
  • 怎样做网站漂浮/新网站 seo
  • 黑河网站seo/怎样把广告放到百度
  • 茶叶网站建设策划书/大连网站优化
  • 商丘行业网站建设开发公司/微信营销推广
  • 汽车4s销售网站模板/seo代码优化步骤