2

我对 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) 矩阵,并且充满了双精度值。

编辑

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

4

1 回答 1

2

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

感谢您报告此事。

于 2014-06-26T16:59:42.917 回答