2

Jama ライブラリを使用して 2 つの行列を乗算したいのですが、次のように返されます。

A col: 4 row: 4
B col: 1 row: 4
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Matrix dimensions must agree.

私のコード:

double[][] arrA = { {1,0,0,0}, {0, Math.cos(0.34), -Math.sin(0.34), 0}, {0, Math.sin(0.34), Math.cos(0.34), 0}, {0,0,0,1} };
        double[][] arrB = { {x}, {y}, {z}, {1} };
        Matrix A = new Matrix(arrA, 4, 4);
        Matrix B = new Matrix(arrB, 4, 1);
        A.print(1, 1);
        B.print(1, 1);
        System.out.println("A col: " + A.getColumnDimension() + " row: " + A.getRowDimension());
        System.out.println("B col: " + B.getColumnDimension() + " row: " + B.getRowDimension());
        Matrix C = A.arrayTimes(B);
4

2 に答える 2

5

A.times(B)行列の乗算を行いたい。

arrayTimes要素ごとの乗算です。

于 2011-10-12T15:41:09.453 に答える
0

JAMA についてのより深いアイデアについては、http: //math.nist.gov/javanumerics/jama/doc/をお勧めします。

于 2015-08-18T08:43:53.643 に答える