Java 使用公式为矩阵元素赋值时出错
我在Java中使用ejml公式编写了几行简单的代码,如下所示:Java 使用公式为矩阵元素赋值时出错,java,ejml,Java,Ejml,我在Java中使用ejml公式编写了几行简单的代码,如下所示: eq.process("T = zeros(2,3)"); eq.process("T(1,1)=10"); eq.process("T(1,0)=1"); eq.process("T(1,2)=8"); DenseMatrix64F m=eq.lookupMatrix("T"); m.set(1, 2, 7); 最后一行不起作用,抛出错误“子矩阵超出边界。范围较低”。 显然,矩阵T的大小为2x3,索引从0开始,因此T(1,2)
eq.process("T = zeros(2,3)");
eq.process("T(1,1)=10");
eq.process("T(1,0)=1");
eq.process("T(1,2)=8");
DenseMatrix64F m=eq.lookupMatrix("T");
m.set(1, 2, 7);
最后一行不起作用,抛出错误“子矩阵超出边界。范围较低”。
显然,矩阵T的大小为2x3,索引从0开始,因此T(1,2)是有效的。
我还尝试转换为原始矩阵,如下所示:
eq.process("T = zeros(2,3)");
eq.process("T(1,1)=10");
eq.process("T(1,0)=1");
eq.process("T(1,2)=8");
DenseMatrix64F m=eq.lookupMatrix("T");
m.set(1, 2, 7);
它是有效的。
这是这个库中的一个bug吗?这是一个bug。在内部,边界检查是在col,row而不是row,col中进行的 最新的github代码已经修复了这个问题。您还可以签出以下SHA
ec2dffbabc38c1e86f1ef58da2553cec9287b0f3
在Stackoverflow上提问是可以的,因为更多的人看到了它。但是,请使用github和留言板报告错误和功能请求。他们会马上给我发信息,但谁知道我什么时候能在这里看到它。谢谢,好的,我会的