如何在java中获得矩阵/数组的转置?
假设我有一个矩阵a,我需要输入什么才能得到a的转置矩阵?(比方说B) (我已经在我的项目中导入了Apache Commons Math,我想使用这些库来实现它) 我的代码是:如何在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; 那么,什么 (我找到了这个链接,但我不知道该怎么做: 我试过:
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();