如何找到2矩阵的平均值?

时间:2014-11-19 04:32:18

标签: javascript arrays matrix

我正在写一个Javascript并需要帮助......



var h, A, B, C, D, Answer;
h = [[0.1, 0.2, 0.3, 0.4], [0.4, 0.3, 0.2, 0.1]]

A = h[0][0]*h[1][0]
B = h[0][1]*h[1][1]
C = h[0][2]*h[1][2]
D = h[0][3]*h[1][3]
Answer = (A+B+C+D)/4
document.write (Answer);




我想找到矩阵的平均值如下所示?我希望我的程序找到样品1和样品2的平均值。实施例:样品1具有以下基质:[0.1,0.2,0.3,0.4],样品2具有以下[0.4,0.3,0.2,0.1] 。 我的解决方案是:{0.1 * 0.4 + 0.2 * 0.3 + 0.3 * 0.2 + 0.4 * 0.1} / 4 = 0.05

如何使用for循环构建代码? 感谢

1 个答案:

答案 0 :(得分:1)

您可以使用Array.reduce()函数。

var h, Answer;
h = [[0.1, 0.2, 0.3, 0.4], [0.4, 0.3, 0.2, 0.1]];
Answer = h[0].reduce(function(previousValue, currentValue, index, array) {
  return previousValue + currentValue*h[1][index]/array.length;
},0);
alert(Answer);

更多详情:documentation

使用循环

var h, Answer;
h = [[0.1, 0.2, 0.3, 0.4], [0.4, 0.3, 0.2, 0.1]];
var length = h[0].length;
Answer=0;
for (var i=0; i<length; i++){
    Answer += (h[0][i]*h[1][i])/length;
}
alert(Answer);