使用java函数转置double [] []矩阵?

gur*_*gui 7 java matrix

任何人都有一个函数,我可以用Java转置Matrix,其形式如下:

double[][]
Run Code Online (Sandbox Code Playgroud)

我有这样的功能:

public static double[][] transposeMatrix(double [][] m){
    for (int i = 0; i < m.length; i++) {
        for (int j = i+1; j < m[0].length; j++) {
            double temp = m[i][j];
            m[i][j] = m[j][i];
            m[j][i] = temp;
        }
    }

    return m;
}
Run Code Online (Sandbox Code Playgroud)

但它在某处错了.

mys*_*eim 25

    public static double[][] transposeMatrix(double [][] m){
        double[][] temp = new double[m[0].length][m.length];
        for (int i = 0; i < m.length; i++)
            for (int j = 0; j < m[0].length; j++)
                temp[j][i] = m[i][j];
        return temp;
    }
Run Code Online (Sandbox Code Playgroud)

  • 你不应该检查一下 `m[0]` 不会导致 `IndexOutOfBoundsException` 吗? (3认同)