【发布时间】:2019-11-11 17:59:18
【问题描述】:
我目前正在尝试在 python 上进行矩阵 mult,并且出现了正确的答案,但是,不是每一行都是独立的,而是将所有行组合成一行,然后重复行数。
def matrixtranspose(m1):
mT = [[m1[i][x] for i in range(len(m1))] for x in range(len(m1[0]))]
return mT
def dotProduct(m1row, m2column):
l3 = [m1row[i] * m2column[i] for i in range(len(m1row))]
dP = sum(l3)
return dP
def matrixmult(m1, m2):
transposedMatrix = matrixtranspose(m2)
numRows = len(transposedMatrix)
newMatrix = []
addedDP = []
for rows in range(0, (len(m1))):
for col in range(0, len(transposedMatrix)):
addedDP.append(dotProduct(m1[rows], transposedMatrix[col]))
newMatrix.append(addedDP)
return newMatrix
这将返回:
[[4, 20, 4, 4, 20, 4, 6, 36, 6],
[4, 20, 4, 4, 20, 4, 6, 36, 6],
[4, 20, 4, 4, 20, 4, 6, 36, 6]]
代替:
[[4, 20, 4] [4, 20, 4] [6, 36, 6]]
我该如何解决?
【问题讨论】:
-
您应该添加调用已定义方法的方式。
标签: python matrix multiplication