如何在 MathNet.Symbolics Evaluate 函数中设置双精度?
How to set double precision in MathNet.Symbolics Evaluate function?
我有一个 Dictionary<string, double> values
值精度对我来说很重要。我有一个 Infix 可以解析的字符串公式。我想知道如何做这样的事情:
var expr = Infix.ParseOrThrow(m.Formula);
var result = Evaluate.Evaluate<double>(values, expr);
要获得双精度结果?
Evaluate 在自定义 FloatingPoint
类型上运行,该类型可以表示各种双精度浮点值(主要是实数或复数,理论上也可以是向量或矩阵)。您可以将 double
转换为 FloatingPoint
,并使用 RealValue
从 FloatingPoint
.
获得双倍回报
示例:
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;
我有一个 Dictionary<string, double> values
值精度对我来说很重要。我有一个 Infix 可以解析的字符串公式。我想知道如何做这样的事情:
var expr = Infix.ParseOrThrow(m.Formula);
var result = Evaluate.Evaluate<double>(values, expr);
要获得双精度结果?
Evaluate 在自定义 FloatingPoint
类型上运行,该类型可以表示各种双精度浮点值(主要是实数或复数,理论上也可以是向量或矩阵)。您可以将 double
转换为 FloatingPoint
,并使用 RealValue
从 FloatingPoint
.
示例:
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;