【问题标题】:How can I find the average of the 2 matrix?如何找到 2 矩阵的平均值?
【发布时间】:2014-11-19 04:32:18
【问题描述】:

我正在编写 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 循环构造我的代码? 谢谢

【问题讨论】:

    标签: javascript arrays matrix


    【解决方案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);

    【讨论】:

    • hmmmm,最后的 0 是做什么的?你能指导我使用 for 循环吗?
    • 第二个例子包括循环......第一个例子是另一种方式。第一个示例中的 0 是 previousValue 参数的初始值。您必须阅读文档才能理解它..
    • 解决方案 1 更优雅。 @Algerino,如果您想以 JavaScript 方式或功能方式进行操作,那将是可行的方法。
    猜你喜欢
    • 2014-05-16
    • 2016-07-04
    • 1970-01-01
    • 2020-08-02
    • 1970-01-01
    • 2013-09-29
    • 2018-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多