【问题标题】:Multiplying two matrices with different dimensions将两个不同维度的矩阵相乘
【发布时间】:2012-04-27 04:22:23
【问题描述】:

我正在编写一个乘法矩阵的应用程序。这适用于 nxn 的矩阵 a 和 b:

for(k = 0; k < n; k++) {
    for(i = 0; i < n; i++) {
        tmp = a[i][k];
        for(j = 0; j < n; j++) {
            c[i][j] = c[i][j] + tmp * b[k][j];
        }
    }
}

如果 a 是 nxy 而 b 是 yxm(暗示 c 是 nxm)。我将如何修改上述循环以使其工作?

谢谢

【问题讨论】:

    标签: c loops matrix matrix-multiplication


    【解决方案1】:

    这应该可行:

    for(k = 0; k < y; k++) {
        for(i = 0; i < n; i++) {
            tmp = a[i][k];
            for(j = 0; j < m; j++) {
                c[i][j] = c[i][j] + tmp * b[k][j];
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-06
      • 2013-08-17
      • 1970-01-01
      • 2013-08-15
      • 1970-01-01
      • 2021-05-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多