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

标签 c# matrix math.net mathnet-numerics

我在使用 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) 矩阵,并且充满了 double 值。

编辑

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

最佳答案

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

感谢您报告此事。

关于c# - 无法使用 Math.NET Numerics 从矩阵中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24432480/

相关文章:

.net - 使用 Math.Net 进行统计

c# - 为什么 Enum 的 HasFlag 方法需要装箱?

c - 函数中的参数

f# - MathNet.Numerics 不使用 Mkl native 提供程序

c# - 如何在 MathNet.Symbolics Evaluate 函数中设置 double ?

r - 将每个矩阵列转换为子矩阵并循环遍历每个子矩阵进行绘图

c# - 我应该将哪些参数传递给 ViewModel 的构造函数?

c# - Gridview ItemTemplate 的条件逻辑(仅使用标记)

c# - 字符串、对象和整数之间的转换和解析

java - 如何调整 ArrayList 的大小