我正在尝试使用DelimitedWriter将DenseMatrix对象写入csv文件,如下所示:
DelimitedWriter.WriteFile(originalData, "written.csv", ",");
将出现一条红线,表示无法从用法推断出该方法的类型参数,并明确指定类型参数。 所以我试着这样做:
DelimitedWriter.WriteFile<Double>(originalData, "written.csv", ",");
我得到了,“最好的重载匹配...有一些无效的参数”。
而且:
DelimitedWriter.WriteFile<Double>(originalData<Double>, "written.csv", ",");
我得到originalData的不能与类型参数一起使用。 我也尝试将originalData作为矩阵(而不是DenseMatrix)进行投射,但这也不起作用。我不确定我在这里缺少什么。有什么想法吗?
答案 0 :(得分: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版本。您应该将此问题报告给维护人员。
答案 1 :(得分:0)
将数据扩展的v3版本与Math.NET Numerics的v3版本一起使用。
截至今天,例如使用MathNet.Numerics.Data.Text v3.0.0-beta02包。您可能需要在NuGet中允许预发布包,否则可能不会出现此版本。不幸的是,由于一些待定的更改,还没有该软件包的完整v3版本。
不降级为Math.NET Numerics v2。