javascript - 获取Google电子表格中二维矩阵的单元格

标签 javascript matrix google-apps-script

我将此函数作为 Google Apps 脚本中的自定义函数用于电子表格:

function MultiplyMatrix(m2, m1) {
    var result = [];
    for(var j = 0; j < m2.length; j++) {
        result[j] = [];
        for(var k = 0; k < m1[0].length; k++) {
            var sum = 0;
            for(var i = 0; i < m1.length; i++) {
                sum += m1[i][k] * m2[j][i];
            }
            result[j].push(sum);
        }
    }
    return result;
}

是否有一种方法可以获取数组的特定索引,而无需将整个结果矩阵输入到电子表格中,如果是的话,语法是什么?

我有这个:

enter image description here

我想要这个:

enter image description here

最佳答案

由于我无法发表评论,因此我将使用答案。考虑到您的问题是如何表述的,一个简单的答案可能是更改您的自定义函数定义,以便它需要两个额外的参数,即您感兴趣的结果的行索引和列索引;因此你的代码变成:

function MultiplyMatrix(m2, m1, row, col) {
    var result = [];
    for(var j = 0; j < m2.length; j++) {
        result[j] = [];
        for(var k = 0; k < m1[0].length; k++) {
            var sum = 0;
            for(var i = 0; i < m1.length; i++) {
                sum += m1[i][k] * m2[j][i];
            }
            result[j].push(sum);
        }
    }
    return result[row][col];
}

然后您可以将函数调用为 =MultiplyMatrix(A1:B2, C3:D4, 1, 1) 来获取第二行和第二列的交集值。

如果这不是您期望的答案,我建议您编辑您的问题,将其也标记为 google-spreadsheet (javascript 自定义函数特定于此),并澄清要求。电子表格示例可能对我们所有人都有帮助。

关于javascript - 获取Google电子表格中二维矩阵的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30464737/

相关文章:

javascript - JSON 对象创建错误

c - 在共享内存 inc C 中存储带有 vector 的结构

google-apps-script - 如何从另一个谷歌脚本调用仅供域内用户使用的 Web 应用程序?

python - 使用 numpy 滞后向量乘法的有效方法

google-apps-script - 由于数据集过大,Google 脚本不断崩溃

google-apps-script - 在工作场所以外使用时禁止访问Google工作表

javascript - 更简单的密码系统的东西

javascript - Webview 在 KITKAT 及更高版本上无法按预期工作

javascript - 使用预定义数组的随机值在时间间隔内对 "background-position"进行动画处理

matlab - 在matlab上绘制矩阵的点