python用列表定义两个矩阵,实现两个矩阵的相加和相乘
时间: 2023-11-07 10:05:02 浏览: 168
好的,让我来回答你的问题。
首先,我们可以使用 Python 中的列表来定义两个矩阵。例如,我们可以定义两个 $3 \times 3$ 的矩阵:
```
matrix1 = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
matrix2 = [
[9, 8, 7],
[6, 5, 4],
[3, 2, 1]
]
```
接下来,我们可以定义一个函数来实现矩阵的相加和相乘:
```
def matrix_add(matrix1, matrix2):
result = []
for i in range(len(matrix1)):
row = []
for j in range(len(matrix1[0])):
row.append(matrix1[i][j] + matrix2[i][j])
result.append(row)
return result
def matrix_multiply(matrix1, matrix2):
result = []
for i in range(len(matrix1)):
row = []
for j in range(len(matrix2[0])):
sum = 0
for k in range(len(matrix2)):
sum += matrix1[i][k] * matrix2[k][j]
row.append(sum)
result.append(row)
return result
```
以上代码中,`matrix_add` 函数通过循环遍历两个矩阵的每个元素,相加后生成一个新的矩阵作为结果返回。
`matrix_multiply` 函数则通过三重循环实现矩阵的相乘。首先遍历左侧矩阵,然后遍历右侧矩阵的每一列,对于每一个元素,将左侧矩阵对应行的元素乘以右侧矩阵对应列的元素得到一个中间值,将所有中间值相加后再加入结果矩阵中。
现在我们可以使用这两个函数来计算这两个矩阵的和与积:
```
print(matrix_add(matrix1, matrix2))
print(matrix_multiply(matrix1, matrix2))
```
输出结果分别为:
```
[[10, 10, 10], [10, 10, 10], [10, 10, 10]]
[[30, 24, 18], [84, 69, 54], [138, 114, 90]]
```
希望我的回答对你有所帮助!
阅读全文