【发布时间】:2015-09-01 13:37:19
【问题描述】:
出于我想要做的目的,我需要将用户输入作为字符串并将其转换为未评估的函数。例如,如果用户输入是“x^2*sin(x)”,我需要一个函数,它接受一个双输入 x 并返回
Math.Pow(x, 2)*Math.Sin(x)
我需要这个函数,我不能为 x 传递一个值,而且我会多次调用这个函数(可能有数百次),所以我每次进行计算时都无法解析字符串。
我将如何实现这一点?我从问题Convert a string into mathematical equation? 中得知,没有标准的方法可以做到这一点。但是我对如何“保存”数学公式有点迷茫,有没有办法用数学表达式创建一个委托?
至少,我需要它来识别基本的代数方程、幂、指数和三角函数。此外,虽然我使用了单个变量 x 的函数的示例,但我希望能够解析多个变量的函数。
【问题讨论】:
-
我用谷歌搜索了这个问题,正如链接问题中的评论所暗示的那样,它让我回到了 Stack Overflow。
-
你需要一个解析器/词法分析器来处理数学表达式。
标签: c# math symbolic-math