0

我正在尝试使用 DelimitedWriter 将 DenseMatrix 对象写入 csv 文件,如下所示:

DelimitedWriter.WriteFile(originalData, "written.csv", ",");

会出现一条红线,表示方法的类型参数不能从用法中推断出来,并明确指定类型参数。所以我试着这样做:

DelimitedWriter.WriteFile<Double>(originalData, "written.csv", ",");

我得到了“最好的重载匹配......有一些无效的论点”。

和这个:

DelimitedWriter.WriteFile<Double>(originalData<Double>, "written.csv", ",");

我得到的 originalData 不能与类型参数一起使用。我还尝试将 originalData 转换为 Matrix(而不是 DenseMatrix),但这也不起作用。我不确定我在这里缺少什么。有任何想法吗?

4

2 回答 2

0

它看起来像 Math.NET nuget 包的内部版本控制问题,即使您尝试为第一个参数传递空文字,您也会收到错误消息。

我注意到 Intellisense 说它期待一个MathNet.Numerics.LinearAlgebra.Generic.Matrix<T>,但在 Math.NET 3.0+ 版本中,该类型是MathNet.Numerics.LinearAlgebra.Matrix<T>

您可能想尝试从包管理器控制台安装文本 IO 扩展表示它支持的特定版本:

Uninstall-Package MathNet.Numerics -Force
Install-Package MathNet.Numerics -Version 2.5.0

这对我有用。我不确定何时进行了重大更改,大概是 3.0 版。您应该将此作为问题报告给维护人员。

于 2014-07-07T16:53:18.340 回答
0

将 v3 版本的数据扩展与 v3 版本的 Math.NET Numerics 一起使用。

截至今天,例如使用MathNet.Numerics.Data.Text v3.0.0-beta02包。您可能需要在 NuGet 中允许预发布包,否则此版本可能不会出现。不幸的是,由于一些待定的更改,该软件包还没有完整的 v3 版本。

不要降级到 Math.NET Numerics v2

于 2014-07-12T06:27:42.357 回答