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

标签 c# math.net mathnet-numerics mathdotnet-symbolics

我有一个 Dictionary<string, double> values值(value)观的精确度对我来说很重要。我有一个 Infix 可以解析的字符串公式。我想知道如何做这样的事情:

var expr = Infix.ParseOrThrow(m.Formula);
var result = Evaluate.Evaluate<double>(values, expr);

获得 double 结果?

最佳答案

Evaluate 在自定义 FloatingPoint 类型上运行,该类型可以表示各种 double 浮点值(主要是实数或复数,理论上也可以是向量或矩阵)。您可以将 double 转换为 FloatingPoint,并使用 RealValueFloatingPoint 返回一个 double。

例子:

var variables = new Dictionary<string,FloatingPoint>
   {{ "a", 2.0 },
    { "b", 3.0 }};

var expr = Infix.ParseOrThrow("2/3*a");
double result = Evaluate.Evaluate(variables, expr).RealValue;

关于c# - 如何在 MathNet.Symbolics Evaluate 函数中设置 double ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35742390/

相关文章:

symbolic-math - 使用 Math.NET Symbolics 求解线性方程

c# - 用于泛型类型层次结构的 DebuggerTypeProxy

c# - 在没有 Windows 访问权限的情况下使用凭据信息访问共享文件夹

c# - WinForms 不同的 DPI 布局

c# - 使用 mathdotnet 进行互相关

c# - 使用 Math.Net 计算数组的均值和标准差

c# - MathNet- 'System.TypeInitializationException'

c# - Selenium C# 如何暂停/播放嵌入式 youtube 视频

c# - 如何编写动态 Lambda 表达式来访问第 N 个父实体?

c# - 使用 MathNet.Numerics 的矩阵求逆