java中的矩阵转置(需要解释)
Matrix transpose in java(need explanation)
这是我的代码,它应该可以工作,但是当我转置和打印矩阵时,它输出相同的矩阵,而不是转置。
一些解释?
它应该改变矩阵,而不是复制和转置然后 return。
public无效转置(){
for(int i=0;i<n;i++)
for(int j=0;j<m;j++){
Object tmp=matrix[i][j];
matrix[i][j]=matrix[j][i];
matrix[j][i]=tmp;
}
}
你在内循环中的索引有误。
for (int i = 0; i < n; i++) {
for (int j = i+1; j < n; j++) {
Object tmp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = tmp ;
}
您的代码不会转置您的矩阵,因为您通过 matrix[i][j]=matrix[j][i];
覆盖了您的原始矩阵
这是一种在 Java 中转置矩阵的方法:transpose double[][] matrix with a java function
这是我的代码,它应该可以工作,但是当我转置和打印矩阵时,它输出相同的矩阵,而不是转置。 一些解释? 它应该改变矩阵,而不是复制和转置然后 return。 public无效转置(){
for(int i=0;i<n;i++)
for(int j=0;j<m;j++){
Object tmp=matrix[i][j];
matrix[i][j]=matrix[j][i];
matrix[j][i]=tmp;
}
}
你在内循环中的索引有误。
for (int i = 0; i < n; i++) {
for (int j = i+1; j < n; j++) {
Object tmp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = tmp ;
}
您的代码不会转置您的矩阵,因为您通过 matrix[i][j]=matrix[j][i];
这是一种在 Java 中转置矩阵的方法:transpose double[][] matrix with a java function