使用Math.NET Numerics无法从矩阵中删除行

时间:2014-06-26 13:55:20

标签: c# matrix mathnet

我对Math.NET Numerics有一个奇怪的问题。假设我有matrix<double>实例化并填充(我通过在文本文件中写入来验证),其大小为(949 x 30)。 我想要的是从这个矩阵中删除一行。但似乎我无法删除我想要的所有行。我可以删除我想要的所有列,但我可以删除30个第一行(可能这与列数为30相关)。看我的代码:

Matrix<double> mat = getMatrixFromDico();
MessageBox.Show(mat.RowCount + " x " + mat.ColumnCount); // output is 949 x 30
mat = mat.RemoveColumn(25); // works perfectly
mat = mat.RemoveRow(25); // works perfectly
mat = mat.RemoveRow(35); // throws a System.ArgumentOutOfRangeException

有人知道发生了什么吗?

我想我已经测试并验证了mat的所有内容。它实际上是一个(949 x 30)矩阵,并且充满了双重值。

修改

我认为这是图书馆的问题。该函数可能没有很好地实现,只适用于方形矩阵OR或非方矩阵的方形子矩阵的行/列。

1 个答案:

答案 0 :(得分:2)

v3.0.1中的参数范围检查确实存在错误。
固定版本3.0.2将很快发布。

感谢您报告此事。