【问题标题】:How does this matrix multiplication code work?这个矩阵乘法代码是如何工作的?
【发布时间】:2016-04-08 20:38:55
【问题描述】:

此代码应该将两个矩阵相乘。这是一个家庭作业,我得到了 100 分,因为我的朋友帮了我。

但我试图真正了解它是如何工作的,但由于某种原因我一直感到困惑。我真的不明白第三个 for 循环在做什么。

        int mA = matrix1.length;
        int nA = matrix1[0].length;
        int mB = matrix2.length;
        int nB = matrix2[0].length;
        if (nA != mB){
            return null;


        double[][] C = new double[mA][nB];
        for (int i = 0; i < mA; i++)
            for (int j = 0; j < nB; j++)
                for (int k = 0; k < nA; k++)
                    C[i][j] += matrix1[i][k] * matrix2[k][j];
        return C;

【问题讨论】:

  • 我认为这不是一个真正的编程问题,而是一个数学问题。第三个循环只是说位置 k,l 的新矩阵 (C) 将具有 A 的一个向量和 B 的一个向量的标量积的值。如果你画出来你就会明白

标签: java loops multidimensional-array nested-loops matrix-multiplication


【解决方案1】:

您正在实现矩阵乘法。

你可以在Java With Us找到一个很好的解释

【讨论】:

    猜你喜欢
    • 2018-05-08
    • 1970-01-01
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-03
    • 2020-11-05
    相关资源
    最近更新 更多