如何解析多项式表达式来计算它们的根?

时间:2013-09-03 12:40:37

标签: java parsing parser-generator

首先,我需要实现一个JAVA应用程序,它将接收一个方程式(多项式方程式),我的软件将计算其根。 所以我的目标:

  • 从输入接收等式(例如:x ^ 3 -3x ^ 2 + 2x +1)
  • 解析这个等式,所以我知道它的系数及其度数(系数1,-3,+ 2,+ 1,度数:3,2,1,0)
  • 然后我需要找到一个计算根的间隔(如Bolzano方法),通过信号变化找到间隔 等式的结果:F(1)= 2,F(2)= -3,这意味着在 2和3的间隔将是一个根) - 它必须是一个根 仅限间隔。
  • 解析后,我会使用Secant Method(或Newton Raphson)来寻找根。

这些是我的目标,如果你能提供任何帮助,那就会很棒。

提前致谢。

1 个答案:

答案 0 :(得分:1)

你可以直接构建一个递归下降解析器。请参阅https://stackoverflow.com/a/2336769/120163

然而,你(显然)真正想知道的是多项式度和系数。为什么不只读取一个系数值列表,列表长度给出多项式度?