用方程给矩阵元素赋值时出错



在Java中使用ejml Equation编写了几行简单的代码,如下所示:

eq.process("T = zeros(2,3)");
eq.process("T(1,1)=10");
eq.process("T(1,0)=1");
eq.process("T(1,2)=8");

最后一行不工作,抛出错误"Submatrix out of bounds "。低程度"。显然,矩阵T的大小是2x3,索引从0开始,所以T(1,2)一定是有效的。我还尝试转换为原始矩阵如下:

DenseMatrix64F m=eq.lookupMatrix("T");
m.set(1, 2, 7);

它起作用了。是这个库的bug吗?

这是一个bug。内部边界检查是col,row而不是row,col

最新的github代码有修复。你也可以签出下面的SHA。

ec2dffbabc38c1e86f1ef58da2553cec9287b0f3

在Stackoverflow上提问很好,因为更多的人看到它。但是,请使用github和留言板报告错误和功能请求。这些会马上给我发送消息,但谁知道我什么时候会在这里看到它

最新更新