我的矩阵乘法代码有什么问题?

时间:2019-05-11 00:45:08

标签: python-3.x

我需要在Python3中将任意两个矩阵(具有允许的正确尺寸)相乘,而不使用除数学之外的任何导入。 (所以不要麻木)。

那是我想出的:

def dotMatrix(m1, m2):
    m1rows = len(m1[0])
    m1cols = len(m1)
    m2rows = len(m1[0])
    m2cols = len(m2)
    newcolumn = [0]*m2cols
    m = [newcolumn]*m2rows
    sum = 0

    for a in range(m1rows):
        for b in range(m2rows):
            for c in range(m2cols):
                sum += m1[a][c]*m2[c][b]

            m[a][b] = sum
            sum = 0

    return m


a = [[1,4],[2,5],[3,6]]
b = [[7,9,11],[8,10,12]]

c = dotMatrix(a,b)
print(c)

应该返回[[58,139],[64,154]],但返回[[54, 68], [54, 68]]。为什么会这样?

我正在研究mathisfun

上的示例

0 个答案:

没有答案