计算两个矩阵乘积的程序

17 Mar 2025 | 6 分钟阅读

说明

在此程序中,我们需要对两个矩阵进行乘法运算并打印结果矩阵。

两个矩阵的乘积

两个矩阵的乘积可以通过将第一个矩阵的第一行元素与第二个矩阵的第一列元素相乘,然后将所有乘积相加来计算。继续这个过程,直到第一个矩阵的每一行都与第二个矩阵的每一列相乘。

Program to find the product of two matrices

考虑上面的例子,结果矩阵 prod[0,0] 的第一个元素可以通过将第一个矩阵的第一行(即 (1, 3, 2))与第二个矩阵的第一列(即 (2, 1, 1))相乘,最后将所有乘积相加来计算,即 (1*2) + (3*1) + (2*1) = 7。同样,第二个元素 prod[0,1] 可以通过将第一个矩阵的第一行与第二个矩阵的第二列相乘,然后将所有乘积相加来计算。

当且仅当满足以下条件时,两个矩阵才能相乘

第一个矩阵中的列数必须等于第二个矩阵中的行数。

假设矩阵 A 的维度是 p × q,矩阵 B 的维度是 q × r,则结果矩阵的维度将是 p × r。矩阵乘法可以表示为

Cij = Σ AikBkj

算法

  1. 声明并初始化两个二维数组 a 和 b。
  2. 计算数组 a 中的行数和列数,并分别存储在变量 row1 和 col1 中。
  3. 计算数组 b 中的行数和列数,并分别存储在变量 row2 和 col2 中。
  4. 检查 col1 是否等于 row2。要使两个矩阵相乘,第一个矩阵的列数必须等于第二个矩阵的行数。
  5. 如果 col1 不等于 row2,则显示消息“矩阵无法相乘。”
  6. 如果它们相等,则通过将第一个矩阵的第一行元素与第二个矩阵的第一列元素相乘,并将所有乘积相加来遍历数组 a 和 b。
    例如 prod11 = a11 x b11 + a11 x b21 + a11 x b31
  7. 重复上一步,直到第一个矩阵的所有行都与第二个矩阵的所有列相乘。
  8. 显示数组 prod 的元素。

解决方案

Python

输出

Product of two matrices: 
7 7 6 
8 6 5 
6 7 5 

C

输出

Product of two matrices: 
7 7 6 
8 6 5 
6 7 5 

JAVA

输出

Product of two matrices: 
7 7 6 
8 6 5 
6 7 5 

C#

输出

Product of two matrices: 
7 7 6 
8 6 5 
6 7 5 

PHP

输出

Product of two matrices: 
7 7 6 
8 6 5 
6 7 5 
 
下一主题#