【发布时间】:2015-01-28 01:53:20
【问题描述】:
我正在做一个乘以 2 个矩阵的函数。矩阵将始终具有相同数量的行和列。 (2x2、5x5、23x23、...)
当我打印它时,它不起作用。为什么?
例如,如果我创建两个 2x2 矩阵:
矩阵A:
[1][2]
[3][4]
矩阵B:
[5][6]
[7][8]
结果应该是:
[19][22]
[43][50]
(http://ncalculators.com/matrix/2x2-matrix-multiplication-calculator.htm)
但是,我明白了:
[19][undefined]
[22][indefined]
function multiplyMatrix(matrixA, matrixB)
{
var result = new Array();//declare an array
//var numColsRows=$("#matrixRC").val();
numColsRows=2;
//iterating through first matrix rows
for (var i = 0; i < numColsRows; i++)
{
//iterating through second matrix columns
for (var j = 0; j < numColsRows; j++)
{
var matrixRow = new Array();//declare an array
var rrr = new Array();
var resu = new Array();
//calculating sum of pairwise products
for (var k = 0; k < numColsRows; k++)
{
rrr.push(parseInt(matrixA[i][k])*parseInt(matrixB[k][j]));
}//for 3
resu.push(parseInt(rrr[i])+parseInt(rrr[i+1]));
result.push(resu);
//result.push(matrixRow);
}//for 2
}//for 1
return result;
}// function multiplyMatrix
【问题讨论】:
-
您是否尝试在浏览器内置调试器或 Firebug 中调试代码?
-
使用您的代码,我得到的输出与您声称的不同 -
multiplyMatrix([[1,2],[3,4]], [[5,6],[7,8]])返回[[19],[22],[NaN],[Nan]]
标签: javascript arrays matrix matrix-multiplication