3

我在 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. Lower extent”。显然,矩阵 T 的大小为 2x3,索引从 0 开始,因此 T(1,2) 必须有效。我还尝试转换为原始矩阵,如下所示:

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

它有效。这是这个库的错误吗?

4

1 回答 1

1

那是一个错误。在内部,边界检查正在执行 col,row 而不是 row,col。

最新的 github 代码已修复。您还可以查看以下 SHA。

ec2dffbabc38c1e86f1ef58da2553cec9287b0f3

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

于 2015-05-16T15:42:11.047 回答