【发布时间】:2017-11-19 14:09:51
【问题描述】:
所以我有这个矩阵相乘的代码,但它只适用于 2x2 矩阵。我在编程方面没有那么有经验,所以我不知道我做错了什么。谁能告诉我这段代码如何用于乘以 3x3 矩阵?我怎样才能让结果写成矩阵而不是一行?有没有比 document.write(mResult); 更好的方法?
function multiply(m1, m2) {
var result = [];
for (var i = 0; i < m1.length; i++) {
result[i] = [];
for (var j = 0; j < m2[0].length; j++) {
var sum = 0;
for (var k = 0; k < m1[0].length; k++) {
sum += m1[i][k] * m2[k][j];
}
result[i][j] = sum;
}
}
return result;
}
var m1 = [
[1, 2],
[3, 8]
];
var m2 = [
[5, 9],
[7, 1]
];
var mResult = multiply(m1, m2);
document.write(mResult);
【问题讨论】:
-
当你传递两个 3x3 矩阵时会发生什么?
-
它保持为空。使用 2x2 矩阵会显示结果,但不会使用 3x3 矩阵。
-
您的所有问题都在这里得到解答:stackoverflow.com/questions/27205018/…
标签: javascript function matrix multiplication