0

假设我有一个矩阵 A。我必须输入什么才能得到 A 的转置矩阵?(让我们说B)

我已经在我的项目中导入了 Apache Commons Math,我想使用这些库来实现

我的代码是:

double[][] A = new double[2][2];
        A[0][0] = 1.5;
        A[0][1] = -2.0;
        A[1][0] = 7.3;
        A[1][1] = -13.5;

那么,什么?...

(我找到了这个链接,但我不知道具体该怎么做:

http://commons.apache.org/proper/commons-math/apidocs/org/apache/commons/math3/linear/RealMatrix.html

我努力了 :

double[][] a = new double[2][2];
a = RealMatrix.transpose();

还,

double[][] a = new double[2][2];
a = A.transpose();

以及如何以相同的方式转置数组 a ?

4

2 回答 2

1

您可以尝试以下方法:

public void transpose() {

        final int[][] original = new int[][] { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } };
        for (int i = 0; i < original.length; i++) {
            for (int j = 0; j < original[i].length; j++) {
                System.out.print(original[i][j] + " ");
            }
            System.out.print("\n");
        }
        System.out.print("\n\n matrix transpose:\n");
        // transpose
        if (original.length > 0) {
            for (int i = 0; i < original[0].length; i++) {
                for (int j = 0; j < original.length; j++) {
                    System.out.print(original[j][i] + " ");
                }
                System.out.print("\n");
            }
        }
    }
于 2013-10-10T10:14:17.267 回答
1
double[][] matrixData = { {1.5d,2d}, {7.3d,-13.5d}};
RealMatrix m = MatrixUtils.createRealMatrix(matrixData);

有一种方法叫做 transpose,它返回矩阵的转置

RealMatrix m1=m.transpose();

m1 将是 m 的转置

于 2013-10-10T10:18:19.270 回答