您的位置:

Python 程序:两个矩阵相乘

在这个简单的 python 程序中,我们需要将两个矩阵相乘。这是一个矩阵 python 程序。

要理解这个例子,您应该了解以下 Python 编程主题:

  • Python 语法
  • Python 列表或数组
  • Python 循环

什么是矩阵?

矩阵是一组相同数据类型的元素,按行和列排列。矩阵中的每个元素由a【I】【j】表示,其中,

  • “a”是矩阵的名称。
  • 下标“I”是行名。
  • 下标“j”是列名。

python 中两个矩阵如何相乘?

现在在这个简单的 python 程序中,我们要乘以两个矩阵得到一个结果矩阵。矩阵乘法是一种二进制运算,将矩阵 A 每行的元素之和与矩阵 B 每列的元素相乘,得到结果矩阵 c。

对于矩阵乘法,我们必须满足一个条件,因为第一个矩阵的列数将等于第二个矩阵的行数。例如,让我们取两个矩阵 A 和 B,得到结果矩阵 C,[a11 a12][a31 a32]*[B12 B13][b22 b23]c12 = a11b 12+a12b 22 c33 = a31b 13+a32b 23。在这个 python 程序中,我们接受来自用户的两个矩阵,并将第三个矩阵初始化为零。

然后我们使用三个for loop嵌套来计算第一个矩阵 A 的第一列中的元素与第二个矩阵 B 的第一行中的第一个元素相乘的结果,并使用 python 中的for loop继续计算。然后打印结果。

算法

步骤 1: 初始化两个矩阵 X 和 Y 。

步骤 2: 将矩阵结果初始化为零。

步骤 3: 使用嵌套的 3 for loop遍历矩阵 A 的第一个矩阵行中的每个元素和矩阵 B 的列中的每个元素

STEP 4: 应用*结果[i][j] += X[i][k] Y[k][j]** 得到结果矩阵元素,使用 python 编程语言中的 print 语句打印结果。

Python 源代码

X = [[1,2,3],  
    [4,5,6],  
    [7,8,9]]  

Y = [[10,11,12],  
    [13,14,15],  
    [16,17,18]]  

Result = [[0,0,0],  
         [0,0,0],  
         [0,0,0]]  
for i in range(len(X)):

   for j in range(len(Y[0])):

       for k in range(len(Y)):
         Result[i][j] += X[i][k] * Y[k][j]

for r in Result:
   print(r) 

输出

[[84, 90, 96]
[201, 216, 231]
[318, 342, 366]]