即使尺寸匹配,Jama 矩阵尺寸也必须一致错误
Jama matrix dimensions must agree error even when dimensions are matching
我正在使用 JAMA 进行图像处理中的一些矩阵运算。
在这里,我将矩阵与其转置相乘。当然这是可能的。
但我收到以下错误:
Exception in thread "main" java.lang.IllegalArgumentException: Matrix dimensions must agree.
at Jama.Matrix.checkMatrixDimensions(Matrix.java:1041)
at Jama.Matrix.arrayTimes(Matrix.java:615)
at javaapplication52.JavaApplication52.main(JavaApplication52.java:66)
我的代码片段是:
double dd[][]={{0,1,2,3,4,5,6,7,8},{1,2,3,4,5,6,7,8,9},{2,3,4,5,6,7,8,9,10}};
Matrix M=new Matrix(dd);
Matrix MT=M.transpose();
Matrix C=MT.arrayTimes(M);
double CC[][]=C.getArray();
for(int i=0;i<3;i++)
{
for(int j=0;j<3 ;j++)
{ System.out.println(CC[i][j]+" ");
}
System.out.println("\n ");
//nextLine();
}
对于矩阵乘法,你应该使用MT.times(M)
。
MT.arrayTimes(M)
用于元素乘法。
对于矩阵乘法,你应该使用MT.times(M)
我正在使用 JAMA 进行图像处理中的一些矩阵运算。 在这里,我将矩阵与其转置相乘。当然这是可能的。 但我收到以下错误:
Exception in thread "main" java.lang.IllegalArgumentException: Matrix dimensions must agree.
at Jama.Matrix.checkMatrixDimensions(Matrix.java:1041)
at Jama.Matrix.arrayTimes(Matrix.java:615)
at javaapplication52.JavaApplication52.main(JavaApplication52.java:66)
我的代码片段是:
double dd[][]={{0,1,2,3,4,5,6,7,8},{1,2,3,4,5,6,7,8,9},{2,3,4,5,6,7,8,9,10}};
Matrix M=new Matrix(dd);
Matrix MT=M.transpose();
Matrix C=MT.arrayTimes(M);
double CC[][]=C.getArray();
for(int i=0;i<3;i++)
{
for(int j=0;j<3 ;j++)
{ System.out.println(CC[i][j]+" ");
}
System.out.println("\n ");
//nextLine();
}
对于矩阵乘法,你应该使用MT.times(M)
。
MT.arrayTimes(M)
用于元素乘法。
对于矩阵乘法,你应该使用MT.times(M)