java - 如何解析多项式表达式以计算其根?

标签 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 的间隔将是一个根) - 必须是一个根 仅每个间隔。
  • 解析后,我将使用割线法(或牛顿拉夫森)来求根。

这就是我的目标,如果有什么可以帮助你的,那就太好了。

提前致谢。

最佳答案

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

但是,您(显然)真正想知道的是多项式次数和系数。为什么不直接读取系数值列表,并通过列表长度给出多项式次数?

关于java - 如何解析多项式表达式以计算其根?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18592601/

相关文章:

java - 为什么在单例类的情况下双重检查锁定不会像这样失败?

java - 使用单个类构建 "parent/child"系统

javascript - 如何从 JISON 解析器中获取抽象语法树 (AST)?

java - 如何使用 java 解析 pdf,其中使用 latex 生成(以获取章节或部分等结构)

bison - 空右手侧的符号

javascript - 向 JISON 添加声明

c++ - 在运行时从语法构建解析器

java - 即使提到了节点 ID,所有计划作业都在运行

java - 如何在 Commons cli 中获取没有选项名称的控制台应用程序参数?

iphone - 如何从JSON响应解析十进制值