请编写一个函数multiply(),实现如下功能:接收两个相同维度的方阵作为参数,返回两个方阵的乘积(相同维度的另一个方阵)。进而修改程序以适用于下列情况,即第一个矩阵的列数等于第二个矩阵的行数。
时间: 2024-01-22 15:20:54 浏览: 61
C语言程序设计-编写程序, 求矩阵(3行3列)与2的乘积 .c
5星 · 资源好评率100%
以下是实现两个相同维度方阵相乘的函数multiply():
```python
def multiply(matrix1, matrix2):
n = len(matrix1)
result = [[0 for _ in range(n)] for _ in range(n)]
for i in range(n):
for j in range(n):
for k in range(n):
result[i][j] += matrix1[i][k] * matrix2[k][j]
return result
```
如果要适用于第一个矩阵的列数等于第二个矩阵的行数的情况,需要对函数进行修改,如下所示:
```python
def multiply(matrix1, matrix2):
m = len(matrix1)
n = len(matrix2[0])
r = len(matrix2)
result = [[0 for _ in range(n)] for _ in range(m)]
for i in range(m):
for j in range(n):
for k in range(r):
result[i][j] += matrix1[i][k] * matrix2[k][j]
return result
```
其中,m表示第一个矩阵的行数,n表示第二个矩阵的列数,r表示第一个矩阵的列数和第二个矩阵的行数。
阅读全文