0

我正在尝试制作一个脚本来帮助我学习数学

示例方程:y=(4*(x*2)^(2x+4))+4*x^2

为此,我只需要它了解只(x*2)需要对 的幂次方(2x+4),然后将其代入原始方程,当然你可以只是eval()一个答案。

当我知道 x 值时,我想计算 y 的值。如果不是为了权力,这将相对容易。我只是不知道该怎么做。

我知道你可以使用pow(),但我正在尝试制作一个脚本来处理任何方程。所以它有点需要理解语法。

有什么建议可以解决这个问题吗?

4

4 回答 4

3

For a native PHP sandbox for evaluating formulae, which works as Sjoerd's answer describes, take a look at the evalMath class on PHPClasses.

于 2010-09-22T20:01:55.710 回答
1

尝试实现一个计算器解析器。(链接的示例是 C++,但这应该会给您这个想法。您可以添加解析 ^ 的功能。)

这将使您朝着您想要的方向迈进。否则,如果您的函数类型开始变得过于复杂,您可能需要一个成熟的符号数学包。

于 2010-09-22T19:24:44.580 回答
1

此外,您绝对不应该使用 eval() 来允许用户评估数值表达式。这是一场等待发生的灾难。

于 2010-09-22T19:26:39.037 回答
1

我曾经做过一个计算器脚本

  • 它解析计算并将每个数字和运算符以反向波兰表示法放在堆栈中。
  • 它通过执行堆栈上的所有操作来计算结果。
于 2010-09-22T19:33:55.793 回答