Python 实现矩阵乘法:二维数组相乘
两个二维数组 A 和 B 可以定义如下:
A = [[1,2],[3,4]] B = [[1,2],[1,2]]
要实现矩阵乘法,可以按照以下步骤进行操作:
- 创建一个结果数组 C,它的大小为 A 的行数乘以 B 的列数,即 C = [[0,0],[0,0]]。
- 使用两个嵌套的循环遍历 A 的行和 B 的列:
- 对于 A 的第 i 行,B 的第 j 列,计算结果 C 的第 i 行第 j 列的值:
- 对于 C 的第 i 行第 j 列的值,使用一个嵌套的循环遍历 A 的第 i 行和 B 的第 j 列的元素,计算它们的乘积并累加到 C 的第 i 行第 j 列的值中。
- 对于 A 的第 i 行,B 的第 j 列,计算结果 C 的第 i 行第 j 列的值:
- 返回结果数组 C。
根据上述步骤,可以实现矩阵乘法的函数如下:
def matrix_multiplication(A, B):
rows_A = len(A)
cols_A = len(A[0])
rows_B = len(B)
cols_B = len(B[0])
if cols_A != rows_B:
return None
C = [[0] * cols_B for _ in range(rows_A)]
for i in range(rows_A):
for j in range(cols_B):
for k in range(cols_A):
C[i][j] += A[i][k] * B[k][j]
return C
A = [[1,2],[3,4]]
B = [[1,2],[1,2]]
C = matrix_multiplication(A, B)
print(C)
运行上述代码,将输出结果:
[[3, 6], [7, 14]]
这是矩阵 A 和 B 相乘的结果。
原文地址: https://www.cveoy.top/t/topic/hM83 著作权归作者所有。请勿转载和采集!