我正在尝试使用C#中的MathNet解析表达式字符串,当我尝试使用此代码时:
var h = MathNet.Symbolics.Infix.ParseOrUndefined("1/(a*b)");
它引发了异常。
"未处理的类型' System.TypeInitializationException'发生在MathNet.Symbolics.dll
其他信息:'。$ Infix'的类型初始化程序。抛出异常。"
我哪里错了? 我使用 MathNet v.0.6.0.0 和 Visual Studio 2012 Express
它是由Windows的修补程序解决的,这是我不能更新的。
答案 0 :(得分:0)
依赖项似乎有问题。你能列出你正在使用的确切包装版本吗?你正在编译的.Net版本。
假设您已经通过NuGet安装了Math.NET Symbolics,您是否可以尝试更新所有依赖项(使用NuGet)?
编辑:我无法使用较新的VisualStudio版本重现这一点 - 您是否有可能升级,例如到VisualStudio Community哪个也是免费的?
答案 1 :(得分:-1)
我猜你必须使用这种语法:
var H = MathNet.Symbolics.Infix.Parse "1/(a*b)";
有趣的是,上述函数将返回1 /(a * b)而不是该计算的解。如果你想要H得到结果,你必须使用:
var H = MathNet.Symbolics.Infix.Parse "1/(a*b)";
MathNet.Symbolics.Infix.Print(H);