Python 矩阵乘法 - 追加到空列表中
Python Matrix Multiplication - Append into empty list
如何生成随机矩阵并以高效的方式将它们相乘。
这是我所做的:
`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)`
您可以使用列表理解生成 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)
如何生成随机矩阵并以高效的方式将它们相乘。
这是我所做的:
`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)`
您可以使用列表理解生成 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)