简化和评估数学字符串
Simplifying and evaluating mathematical strings
evaluate/simplify VB 中的数学字符串的最简单方法是什么?
例如:"k*k+(5+2*5)k+k"
将简化为 "k^2+15k+k"
,而 "5^2+3"
将计算为 28
。
为了求值,我使用 NCalc 通过简单地使用求值函数,但它不会简化表达式。
简化方程式的最简单方法是什么?
你可以试试Math.NET Symbolics。
它没有 "know" 关于 (a)b 的隐含乘法,因此如果您不需要它,您将不得不弄清楚如何插入 *
。
Imports MathNet.Symbolics
Imports Expr = MathNet.Symbolics.SymbolicExpression
Module Module1
Sub Main()
Dim a = Expr.Parse("k*k+(5+2*5)*k+k")
Console.WriteLine(a.ToString())
Console.WriteLine(Expr.Parse("5^2+3"))
Console.ReadLine()
End Sub
End Module
输出:
16*k + k^2
28
evaluate/simplify VB 中的数学字符串的最简单方法是什么?
例如:"k*k+(5+2*5)k+k"
将简化为 "k^2+15k+k"
,而 "5^2+3"
将计算为 28
。
为了求值,我使用 NCalc 通过简单地使用求值函数,但它不会简化表达式。 简化方程式的最简单方法是什么?
你可以试试Math.NET Symbolics。
它没有 "know" 关于 (a)b 的隐含乘法,因此如果您不需要它,您将不得不弄清楚如何插入 *
。
Imports MathNet.Symbolics
Imports Expr = MathNet.Symbolics.SymbolicExpression
Module Module1
Sub Main()
Dim a = Expr.Parse("k*k+(5+2*5)*k+k")
Console.WriteLine(a.ToString())
Console.WriteLine(Expr.Parse("5^2+3"))
Console.ReadLine()
End Sub
End Module
输出:
16*k + k^2
28