Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中获得矩阵/数组的转置?_Java_Arrays_Matrix_Transpose - Fatal编程技术网

如何在java中获得矩阵/数组的转置?

如何在java中获得矩阵/数组的转置?,java,arrays,matrix,transpose,Java,Arrays,Matrix,Transpose,假设我有一个矩阵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; 那么,什么 (我找到了这个链接,但我不知道该怎么做: 我试过:

假设我有一个矩阵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;
那么,什么

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

我试过:

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


如何以同样的方式转换数组a?

您可以尝试以下方法:

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");
            }
        }
    }
公共无效转置(){
final int[][]original=新int[][{{1,2,3,4},{5,6,7,8},{9,10,11,12};
对于(int i=0;i0){
对于(int i=0;i
有一种称为转置的方法返回矩阵的转置

RealMatrix m1=m.transpose();

m1将是m的转置

参见我在尝试上面写的:)@vels4j我已经看到了,但我想使用Commons数学库中的子程序。我想这样做,因为我倾向于使用该库中更多的子例程…我的意思是我不想创建一个新的子例程,我想使用库中的子例程。Transpose是一个在RealMatrix实例上调用的方法,它不是一个静态方法。你需要先创建一个RealMatrix,然后设置行和列(.setRow和.setColumn方法),然后你可以转置它。我知道这个链接(就是我上面提到的那个…),我的问题是,我如何将它放在我的程序中???你能帮忙吗?:)我想这就是我想要的!:)谢谢。你想做什么“System.out.println(m)”呢??那不行。具体来说,我正在为您编写psuedocode int number_of_rows=m1.getRowDimension()int number_of_columns=m1.getColumnDimension();那么对于(i=0;i
double[][] matrixData = { {1.5d,2d}, {7.3d,-13.5d}};
RealMatrix m = MatrixUtils.createRealMatrix(matrixData);
RealMatrix m1=m.transpose();