我使用ejml Equation在Java中有几行简单的代码行如下:
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超出范围。较低程度"。 显然,矩阵T的大小为2x3,索引从0开始,因此T(1,2)是有效的。 我还尝试按如下方式转换为原始矩阵:
DenseMatrix64F m=eq.lookupMatrix("T");
m.set(1, 2, 7);
它有效。 这是来自这个库的错误吗?
答案 0 :(得分:1)
这是一个错误。在内部,边界检查是col,row而不是row,col。
最新的github代码有修复。您也可以查看以下SHA。
ec2dffbabc38c1e86f1ef58da2553cec9287b0f3
在Stackoverflow上提出问题很好,因为更多人看到它。但是请使用github和留言板报告错误和功能请求。那些会立即给我发消息,但是谁知道我什么时候会在这里看到它。