用python代码实现:输入矩阵a和b,输出a和b的乘积。
时间: 2024-02-27 20:58:59 浏览: 105
好的,以下是实现代码:
```python
def matrix_multiply(a, b):
"""矩阵乘法"""
m, n = len(a), len(b[0])
p = len(b)
result = [[0] * n for _ in range(m)]
for i in range(m):
for j in range(n):
for k in range(p):
result[i][j] += a[i][k] * b[k][j]
return result
# 测试代码
a = [[1, 2], [3, 4]]
b = [[5, 6], [7, 8]]
result = matrix_multiply(a, b)
for i in range(len(result)):
for j in range(len(result[0])):
print(result[i][j], end=" ")
print()
```
运行结果如下:
```
19 22
43 50
```
注意,矩阵a的行数和矩阵b的列数必须相等,否则无法进行矩阵乘法。在上面的代码中,我们假设a的行数为m,b的列数为n,a的列数和b的行数相等,为p,所以生成了一个m行n列的结果矩阵。
相关问题
用python 输入矩阵a和b,输出a和b的乘积
好的,以下是一个示例代码,可以让你输入矩阵a和b,然后输出它们的乘积:
```python
# 定义矩阵a
a = []
rows_a = int(input("请输入矩阵a的行数: "))
cols_a = int(input("请输入矩阵a的列数: "))
print("请逐行输入矩阵a的元素,每个元素之间用空格隔开:")
for i in range(rows_a):
row = list(map(int, input().split()))
a.append(row)
# 定义矩阵b
b = []
rows_b = int(input("请输入矩阵b的行数: "))
cols_b = int(input("请输入矩阵b的列数: "))
print("请逐行输入矩阵b的元素,每个元素之间用空格隔开:")
for i in range(rows_b):
row = list(map(int, input().split()))
b.append(row)
# 矩阵乘法
if cols_a != rows_b:
print("Error: 矩阵a的列数必须等于矩阵b的行数")
else:
result = [[0] * cols_b for _ in range(rows_a)]
for i in range(rows_a):
for j in range(cols_b):
for k in range(rows_b):
result[i][j] += a[i][k] * b[k][j]
# 输出结果矩阵
print("a和b的乘积矩阵为:")
for row in result:
print(row)
```
你可以运行这个代码,并按照提示输入矩阵a和b的行列数以及元素,然后它将输出a和b的乘积矩阵。注意,矩阵a的列数必须等于矩阵b的行数才能进行乘法运算。
用python 输入矩阵a和b,输出a和b的乘积
可以使用 NumPy 库来实现矩阵乘法。具体代码如下:
```python
import numpy as np
a = np.array([[1, 2], [3, 4]]) # 定义矩阵a
b = np.array([[5, 6], [7, 8]]) # 定义矩阵b
c = np.dot(a, b) # 计算矩阵乘积
print(c) # 输出结果
```
输出结果为:
```
[[19 22]
[43 50]]
```
其中,`np.dot(a, b)` 表示计算矩阵 a 和 b 的乘积。如果矩阵 a 的形状为 (m, n),矩阵 b 的形状为 (n, p),则矩阵乘积 c 的形状为 (m, p)。
阅读全文