知识网络1.3 矩阵乘法

本文介绍了如何在C++中使用二维数组实现矩阵乘法,详细解析了三重循环的运用,从初始化矩阵到计算矩阵乘积的每个元素,再到输出结果的过程。涉及知识点包括矩阵乘法原理、二维数组操作和循环计数变量的应用。
摘要由CSDN通过智能技术生成

以下是本节涉及的知识点

  • 矩阵乘法
  • 二维数组
  • 三重for循环以及常用的计数变量

本节跟前面两节相比,量不大,但是会比较难,因为矩阵乘法涉及到三重循环,难在我们是如何分析得到这三重循环以及这三重循环怎么写。同时还涉及到二维数组,如果稍有不注意很可能会晕。

我们还是从一个基本的情景开始:

(佟强作业题改)初始化两个二维矩阵A和B,其中A是一个M*N的矩阵,B是N*P的矩阵(其中M、N、P均为某个常数,我们假定M=3,N=4,P=2),矩阵里面的数字均为整数,计算矩阵C=AB,并输出矩阵C

佟强作业题原题会比现在这个版本简单,但是原题还涉及到数组指针和函数,在这里都省略了。

首先我们来补充一下基本的矩阵乘法的知识:
二维矩阵:一个数表,M*N的矩阵表示一个M行N列的数阵,其中有M*N个数。
矩阵乘法:两个矩阵的乘法为:当第一个矩阵的列数等于第二个矩阵的行数时才能进行。对于题目中的A B矩阵来说,刚好满足这个关系,则乘积为CC为一个M*P的矩阵。
C中的第i行第j列元素可以表示为:
c i j = ∑ k = 1 N a i k b k j c_{ij}=\sum_{k=1}^N a_{ik} b_{kj} cij=k=1Naikbkj
C中的第i行第j列元素A矩阵i行B矩阵j列的每个对应元素乘积之和。
比如:
C = A B = ( 1 2 3 4 5 6 ) ( 1 4 2 5 3 6 ) = ( 1 × 1 + 2 × 2 + 3 × 3 1 × 4 + 2 × 5 + 3 × 6 4 × 1 + 5 × 2 + 6 × 3 4 × 4 + 5 × 5 + 6 × 6 ) = ( 14 32 32 77 ) C=AB=\begin{pmatrix}1 & 2 & 3\\4 & 5 & 6\end{pmatrix}\begin{pmatrix}1 & 4

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值