python计算矩阵相乘的代码
时间: 2023-05-25 13:06:37 浏览: 61
以下是一个简单的 Python 代码,用于计算矩阵的乘积。假设有两个矩阵 A 和 B,它们的乘积 C 由以下公式计算:
C[i][j] = sum(A[i][k] * B[k][j] for k in range(n))
其中,n 是列数。
```python
def matrix_multiply(A, B):
C = [[0 for _ in range(len(B[0]))] for _ in range(len(A))]
for i in range(len(A)):
for j in range(len(B[0])):
for k in range(len(B)):
C[i][j] += A[i][k] * B[k][j]
return C
```
此代码有三个嵌套的循环,它们分别遍历 A 的行、B 的列和 A 的列。在每次迭代中,计算 C 的单个元素。最后,返回乘积矩阵 C。
要使用此代码,只需将两个矩阵传递给函数即可:
```python
A = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
B = [[9, 8, 7], [6, 5, 4], [3, 2, 1]]
C = matrix_multiply(A, B)
print(C)
```
输出结果:
```python
[[30, 24, 18], [84, 69, 54], [138, 114, 90]]
```
这是 A 和 B 的乘积 C。
相关问题
python两个矩阵相乘代码
以下是两个矩阵相乘的Python代码示例:
```python
# 定义矩阵A和矩阵B
A = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
B = [[10, 11, 12], [13, 14, 15], [16, 17, 18]]
# 初始化结果矩阵C
C = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
# 矩阵相乘
for i in range(len(A)):
for j in range(len(B[0])):
for k in range(len(B)):
C[i][j] += A[i][k] * B[k][j]
# 输出结果矩阵C
for row in C:
print(row)
```
输出结果为:
```
[84, 90, 96]
[201, 216, 231]
[318, 342, 366]
```
这里的代码实现了矩阵A和矩阵B的乘积,并将结果保存在矩阵C中。该代码使用了三个嵌套的循环来实现矩阵的乘积运算。首先,外层循环遍历矩阵A的每一行;然后,内层循环遍历矩阵B的每一列;最后,最内层循环计算矩阵A的当前行和矩阵B的当前列之间的乘积,并将结果加到矩阵C的对应位置上。循环结束后,矩阵C就包含了矩阵A和矩阵B的乘积。
矩阵相乘python代码
以下是两个矩阵相乘的Python代码:
```python
# 定义两个矩阵
matrix1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
matrix2 = [[9, 8, 7], [6, 5, 4], [3, 2, 1]]
# 矩阵相乘
result = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
for i in range(len(matrix1)):
for j in range(len(matrix2[0])):
for k in range(len(matrix2)):
result[i][j] += matrix1[i][k] * matrix2[k][j]
# 打印结果
for row in result:
print(row)
```
输出结果为:
```
[30, 24, 18]
[84, 69, 54]
[138, 114, 90]
```
该代码中,我们首先定义了两个矩阵 `matrix1` 和 `matrix2`,然后使用三重循环计算它们的乘积,并将结果存储在 `result` 矩阵中。最后,我们打印出 `result` 矩阵的每一行作为最终的输出结果。