如何在Python中编写函数来计算两个矩阵的乘积
发布时间:2023-07-02 10:22:03
在Python中,可以使用函数来计算两个矩阵的乘积。下面是一个示例代码,具体解释见注释:
def matrix_multiplication(matrix1, matrix2):
'''
计算两个矩阵的乘积
参数:
matrix1: 个矩阵,类型为二维列表
matrix2:第二个矩阵,类型为二维列表
返回值:
乘积矩阵,类型为二维列表
'''
# 确定矩阵1的行数和列数
rows1 = len(matrix1)
cols1 = len(matrix1[0])
# 确定矩阵2的行数和列数
rows2 = len(matrix2)
cols2 = len(matrix2[0])
# 确保矩阵1的列数等于矩阵2的行数
if cols1 != rows2:
return "矩阵无法相乘"
# 初始化结果矩阵
result = [[0] * cols2 for _ in range(rows1)]
# 计算乘积矩阵
for i in range(rows1):
for j in range(cols2):
for k in range(cols1):
result[i][j] += matrix1[i][k] * matrix2[k][j]
return result
使用示例如下:
matrix1 = [[1, 2, 3],
[4, 5, 6]]
matrix2 = [[7, 8],
[9, 10],
[11, 12]]
product = matrix_multiplication(matrix1, matrix2)
print(product)
这段代码首先定义了一个matrix_multiplication函数,其中参数matrix1和matrix2分别表示 个矩阵和第二个矩阵。在函数内部,我们首先获取了矩阵1和矩阵2的行数和列数。然后,我们通过判断矩阵1的列数是否等于矩阵2的行数来确定是否可以进行矩阵乘法运算。接下来,我们初始化一个结果矩阵,并使用三层循环来计算乘积矩阵的每个元素。最后,返回计算得到的乘积矩阵。
在上述示例中,我们定义了两个矩阵matrix1和matrix2,然后调用matrix_multiplication函数来计算它们的乘积矩阵,并将结果打印出来。运行代码后,输出的结果是乘积矩阵[[58, 64], [139, 154]]。这是因为矩阵1的行数为2,列数为3,矩阵2的行数为3,列数为2,所以可以进行矩阵乘法运算,得到的乘积矩阵的行数为2,列数为2。具体计算过程是:乘积矩阵中的 个元素是矩阵1中的 行和矩阵2中的 列对应元素相乘得到的,即1×7+2×9+3×11=58;乘积矩阵中的第二个元素是矩阵1中的 行和矩阵2中的第二列对应元素相乘得到的,即1×8+2×10+3×12=64;乘积矩阵中的第三个元素是矩阵1中的第二行和矩阵2中的 列对应元素相乘得到的,即4×7+5×9+6×11=139;乘积矩阵中的第四个元素是矩阵1中的第二行和矩阵2中的第二列对应元素相乘得到的,即4×8+5×10+6×12=154。
