Arrays 如何将两个4x4矩阵相乘,写成两个16元素数组?
我需要一个4x4矩阵,如下所示:Arrays 如何将两个4x4矩阵相乘,写成两个16元素数组?,arrays,matrix,pseudocode,matrix-multiplication,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] 表示为如下所示的数组: 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] 如何将两个这样的矩阵相乘?几天来,我一直在为如何完成这项工作而苦苦挣扎。我想这需要三个
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]
表示为如下所示的数组:
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号?一些伪代码将不胜感激:我想我做到了
结果=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];
}
}
}
我想我做到了
结果=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];
}
}
}
以防万一有人来访,我已经实现了这一点,它确实起了作用。谢谢谢谢,虽然我不知道为什么会有%4,但这很有效。如果不考虑这些因素,我想会得到相同的结果,因为我和j永远不会达到4。只是为了防止其他人路过并产生疑问,我已经实现了这一点,它确实起到了作用。谢谢谢谢,虽然我不知道为什么会有%4,但这很有效。如果不考虑这些因素,我想会得到相同的结果,因为我和j永远不会达到4。