java - 即使尺寸匹配,Jama 矩阵尺寸也必须同意误差

标签 java matrix jama

我正在使用 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) 用于元素乘法。

关于java - 即使尺寸匹配,Jama 矩阵尺寸也必须同意误差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42553600/

相关文章:

java - JAMA setMatrix 文档需要在给定矩阵中设置子矩阵

java - 使用 Spring Security BCryptPasswordEncoder 散列密码时凭据错误

java - org.mockito.exceptions.misusing.MissingMethodInvocationException

java - 图矩阵项目(静态中的非静态)

python - numpy 可以用实算术对角化斜对称矩阵吗?

java.lang.IllegalArgumentException : Matrix inner dimensions must agree 异常

java - 尝试读取 DTD 文件的非验证 DocumentBuilder

java - 实例化内部类

arrays - MATLAB 根据另一列的值提取数组的列

java - 如何修复 Jama 中的 ArrayIndexOutOfBounds 错误?