python请输入两个矩阵,用循环结构写矩阵点乘。例如有两个矩阵A和B,它们的维度分别为(m,n)和(n,p),矩阵点乘的结果C的维度为(m,p)。
时间: 2023-05-26 14:04:45 浏览: 45
a = []
b = []
result = []
print("请输入矩阵A:")
# 输入矩阵A
m, n = map(int, input("请输入矩阵A的行数和列数,以空格分隔:").split())
for i in range(m):
row = list(map(int, input("请输入矩阵A的第{}行元素,以空格分隔:".format(i+1)).split()))
a.append(row)
print("请输入矩阵B:")
# 输入矩阵B
n, p = map(int, input("请输入矩阵B的行数和列数,以空格分隔:").split())
for i in range(n):
row = list(map(int, input("请输入矩阵B的第{}行元素,以空格分隔:".format(i+1)).split()))
b.append(row)
# 矩阵点乘
for i in range(m):
row = []
for j in range(p):
dot_product = 0
for k in range(n):
dot_product += a[i][k] * b[k][j]
row.append(dot_product)
result.append(row)
# 输出结果矩阵
print("A与B的点乘结果为:")
for row in result:
print(row)
相关问题
python请输入两个矩阵,用循环结构写矩阵点乘。例如有两个矩阵A和B,它们的维度分别为(m,n)和(n,p),矩阵点乘的结果C的维度为(m,p
)。
示例输入:
请输入矩阵A的维度(用空格隔开):2 3
请输入矩阵B的维度(用空格隔开):3 4
请依次输入矩阵A的各个元素,每行用空格隔开:
1 2 3
4 5 6
请依次输入矩阵B的各个元素,每行用空格隔开:
7 8 9 10
11 12 13 14
15 16 17 18
示例输出:
经过矩阵点乘后,两个矩阵的结果为:
[74, 80, 86, 92]
[173, 188, 203, 218]
python请输入两个矩阵,用循环结构写矩阵点乘。例如有两个矩阵A和B,它们的维度分别为(m,n)和(n,p),矩阵点乘的结果C的维度为(m,p)
matrix_a = []
matrix_b = []
print("请输入矩阵A的维度(m, n):")
m = int(input("m = "))
n = int(input("n = "))
print("请输入矩阵A的元素:")
for i in range(m):
row = []
for j in range(n):
row.append(int(input()))
matrix_a.append(row)
print("请输入矩阵B的维度(n, p):")
p = int(input("p = "))
print("请输入矩阵B的元素:")
for i in range(n):
row = []
for j in range(p):
row.append(int(input()))
matrix_b.append(row)
result_matrix = []
for i in range(m):
row = []
for j in range(p):
sum = 0
for k in range(n):
sum += matrix_a[i][k] * matrix_b[k][j]
row.append(sum)
result_matrix.append(row)
print("A和B的点乘结果为:")
for row in result_matrix:
print(row)