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

计算矩阵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}

http://www.xdnf.cn/news/12564.html

相关文章:

  • 基于Python学习《Head First设计模式》第八章 模板方法模式
  • Readest(电子书阅读器) v0.9.53
  • 缓存一致性 与 执行流
  • STM32学习笔记:外部中断(EXTI)原理与应用详解
  • 什么是可恢复保险丝
  • 永恒之蓝(CVE-2017-0146)详细复现
  • day49 python 注意力热图
  • Oracle 客户端深度指南:SQL Developer 与 PL/SQL Developer 全面安装使用教程
  • MySQL中的内置函数
  • 深入剖析Nginx:从入门到高并发架构实战
  • day24 元组和OS模块
  • 十、【ESP32开发全栈指南: TCP客户端】
  • LinkedList、Vector、Set
  • 嵌入式学习笔记 - freeRTOS vTaskPlaceOnEventList()函数解析
  • VirtualBox启动失败@Ubuntu22.04 说是配置文件有问题
  • 使用ORM Bee (ormbee) ,如何利用SQLAlchemy的模型生成数据库表.
  • “组件、路由懒加载”,在 Vue3 和 React 中分别如何实现? (copy)
  • 使用Python和Flask构建简单的机器学习API
  • MySQL事务与锁中的MVCC 深度解析与面试题讲解
  • Spring AI 核心工作流
  • 每日Prompt:治愈动漫插画
  • 基于深度学习的金枪鱼各类别目标检测含完整数据集
  • Strong Baseline: Multi-UAV Tracking via YOLOv12 with BoT-SORT-ReID 2025最新无人机跟踪
  • 【C/C++】实现固定地址函数调用
  • 2种官方方法关闭Windows防火墙
  • iOS、Android、鸿蒙、Web、桌面 多端开发框架Kotlin Multiplatform
  • 将单体架构项目拆分成微服务时的两种工程结构
  • 阿里云MaxCompute入门
  • 堆排序的详细解读
  • 5.3.2_2二叉树的线索化