如何生成随机矩阵并以有效的方式将它们相乘。
这就是我所做的:
`mat1 = []
for i in range(0, order):
num1 = random.sample(range(1,10), order)
print(num1)
mat1.append(num1)
print()
print("Result of Matrix Multiplication.")
for p in range(len(mat1)):
for q in range(len(mat2[0])):
for r in range(len(mat2)):
res_matrix[p][q] += mat1[p][r] * mat2[r][q]
for res in res_matrix:
print(res)`
答案 0 :(得分:0)
您可以使用列表推导来使用
生成res_matrix
res_matrix = [[0 for i in range(order)] for j in range(order)]
另外,你听说过numpy
吗?它以简单快速的方式进行这种计算(以及更多)。这就是你的代码将成为numpy
import numpy as np
print("Generate 1st Matrix")
mat1 = np.random.randint(1, 10, size=(order, order))
print(mat1)
print("Generate 2nd Matrix")
mat2 = np.random.randint(1, 10, size=(order, order))
print(mat2)
res_matrix = mat1.dot(mat2)
print("Result of Matrix Multiplication.")
print(res_matrix)