编译器错误调用MathNet Numerics DelimitedWriter.WriteFile

本文关键字:DelimitedWriter WriteFile Numerics MathNet 错误 调用 编译器 | 更新日期: 2023-09-27 18:11:52

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

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

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

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

我得到,"最好的重载匹配…有一些无效参数".

:

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

不能与类型参数一起使用。我也试过将originalData转换为矩阵(而不是DenseMatrix),但这也不起作用。我不知道我错过了什么。什么好主意吗?

编译器错误调用MathNet Numerics DelimitedWriter.WriteFile

这看起来像是Math的内部版本问题。. NET nuget包,即使你试图传递一个空文本作为第一个参数,你也会得到一个错误。

我注意到Intellisense说它期待一个MathNet.Numerics.LinearAlgebra.Generic.Matrix<T>,但在3.0+版本的数学。类型为MathNet.Numerics.LinearAlgebra.Matrix<T>的NET

您可以尝试从包管理器控制台安装文本IO扩展所支持的特定版本:

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

这对我有用。我不确定什么时候进行了突破性的更改,大概是3.0版本。您应该将此作为问题报告给维护人员。

使用v3版本的Data扩展和v3版本的Math。网络数字。

如今天使用MathNet.Numerics.Data.Text v3.0.0-beta02包。您可能需要在NuGet中允许预发布包,否则这个版本可能不会出现。不幸的是,由于一些悬而未决的变化,这个包还没有完整的v3版本。

降级为数学。NET Numerics v2.