0
       double [][] AdjacencyMat = new double[baseSize][baseSize];
        for (int i = 0; i < baseSize; ++i)
        {
            for (int j =0; j < baseSize; ++j)
            {
                AdjacencyMat[i][j] = 0;
            }
        }
        DoubleMatrix matrix = new DoubleMatrix(AdjacencyMat);

私は行列演算のために JBLAS を試みています。次のコードでは、取得してArrayIndexOutOfBoundsExceptionいます。

java.lang.ArrayIndexOutOfBoundsException: 0  
at org.jblas.DoubleMatrix.<init>(DoubleMatrix.java:370)  

私が間違っていることは何ですか?どんな助けでも大歓迎です。

4

2 に答える 2

2

新しい行列を作成してゼロで埋めるのとは対照的に、DoubleMatrixこのようなクラスで静的ファクトリ メソッドを使用できます。

DoubleMatrix matrix = DoubleMatrix.zeros(baseSize, baseSize);

これは、問題を回避する方法です。よりクールなものについては、 javadocを参照してください。

于 2013-03-13T14:16:12.693 に答える
0

要素に 0 を割り当てる必要はまったくありません。

double[][] a = new double[10][10];

will 自体が配列を作成し、デフォルトですべての要素が 0.0 になります。

于 2013-03-13T14:44:27.563 に答える