65.9K
CodeProject 正在变化。 阅读更多。
Home

强大的函数解析器

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.40/5 (18投票s)

2000年2月23日

viewsIcon

145101

downloadIcon

2179

一个简单但功能强大的函数解析器,可以解析和评估标准的数学函数

  • 下载源代码 - 82 Kb
  • 编写这段代码的灵感来自于希望有一个易于使用的函数解析器,用于处理以字符串形式给定的函数。你有一个像 "cos(x)-7*x/(1+x)" 这样的字符串,并且想要计算一些值,也许是为了显示函数的图形。你可以编写如下代码

    CFunction<long double>* fkt = CFunction<long double>::Parse("cos(x)-7*x/(1+x)");
    long double y = fkt->Execute(1.5);

    在后台有很多定义,但结果却简单快捷!有一个一次性的解析步骤来构建函数树,而函数评估仅仅是对标准数学函数(如 sin、+、*、sqrt)的调用。如果你想了解更多关于实现的细节,你应该查看源代码。在这里描述解析算法会过于复杂。

    © . All rights reserved.