用python语言自定义一个求两个矩阵乘积的函数,并调用该函数求矩阵M和N的积,要求用循环和多维数组操作
时间: 2024-05-02 21:18:56 浏览: 253
Python定义函数实现累计求和操作
5星 · 资源好评率100%
以下是使用Python语言自定义一个求两个矩阵乘积的函数,并调用该函数求矩阵M和N的积的代码:
```python
def matrix_multiply(matrix1, matrix2):
# 获取矩阵1的行数和列数
rows1 = len(matrix1)
cols1 = len(matrix1[0])
# 获取矩阵2的行数和列数
rows2 = len(matrix2)
cols2 = len(matrix2[0])
# 确认矩阵1的列数等于矩阵2的行数
if cols1 != rows2:
print("Error: The number of columns of matrix1 should be equal to the number of rows of matrix2.")
return None
# 初始化结果矩阵
result_matrix = [[0 for i in range(cols2)] for j in range(rows1)]
# 计算矩阵乘积
for i in range(rows1):
for j in range(cols2):
for k in range(rows2):
result_matrix[i][j] += matrix1[i][k] * matrix2[k][j]
return result_matrix
# 测试
M = [[1, 2], [3, 4], [5, 6]]
N = [[1, 2, 3], [4, 5, 6]]
print(matrix_multiply(M, N))
```
输出结果为:
```
[[9, 12, 15], [19, 26, 33], [29, 40, 51]]
```
该函数中,首先获取两个矩阵的行数和列数,然后判断矩阵乘积是否合法,即矩阵1的列数等于矩阵2的行数。如果不合法,返回None。接着初始化结果矩阵,并利用三重循环计算矩阵乘积。最后返回结果矩阵。
在测试中,定义了两个矩阵M和N,并调用了matrix_multiply函数求它们的积。最终输出结果为一个新的矩阵。
阅读全文