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];

将自己创建数组,默认情况下所有元素都为 0.0。

于 2013-03-13T14:44:27.563 回答