我正在为Windows 手机制作一个函数图形应用程序,用户可以在其中输入一个函数供应用程序绘制。我需要一个快速(这里我的意思是尽可能快的)表达式评估器。我见过很多数学解析器,但似乎没有一个允许单独编译和评估。我需要这个,因为我需要以30 甚至更好的 60fps计算大量数据点(1000+)。我发现的所有这些都接受一个字符串并同时解析它+评估。由于我正在为 windows phone 制作这个,由于限制,我无法直接编译 c# 代码。
它应该能够执行以下操作: 2^2*sin(x/20)+abs(x)/log(x, 2)
解决了:
我真的很生自己的气,因为我无法用谷歌搜索,最后当我在这里提问时,我自己找到了答案。
这成功了:
http://nicoschertler.wordpress.com/2011/09/22/math-parser-using-lambda-expressions/
1.5ghz 双核手机可以在 60fps 下以 1/4 像素精度运行它!