如何将两个4x4矩阵相乘,写成两个16元素数组?

时间:2012-02-15 17:51:33

标签: arrays matrix pseudocode matrix-multiplication

我需要像这样的4x4矩阵:

1  2  3  4
5  6  7  8
9  10 11 12
13 14 15 16

表示为这样的数组:

[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16]

如何将两个这样的“矩阵”相乘?我一直在努力工作几天如何工作。我想这需要三个for循环?也许两个?他们会去4或16吗?一些伪代码将不胜感激:(

1 个答案:

答案 0 :(得分:3)

我想我做到了!

结果= A * B:

for(var k=0; k<=12; k+=4){
    for(var i=0; i<4; i++){
        for (var j=0, bCount=0; j<4; j++, bCount+=4){
            result[k+i] += A[k+j%4] * B[bCount+i%4];
        }
    }
}