我正在尝试设计一种将数学方程表示为Java对象的方法。目前我想到的是:
对于简单的方程式,我的方法运行良好:![x^2 + 3](https://istack.dev59.com/QXVYV.gif)
这只是两个 Term:一个带有变量“x”和指数“2”,另一个仅是常数“3”。
但是对于更复杂的方程式,情况就不是那么理想了:![alt text](https://istack.dev59.com/fyvNU.gif)
是的,这是一个糟糕的例子,但我只是想说明一下。
那么问题来了:什么是将数学方程表示为Java对象的最佳方法?是否有任何已经实现这个功能的库?
- Term
- - 包括系数(可能为负数)、指数和变量(x、y、z等)等字段。有些字段甚至可以作为它们自己的术语,引入递归。
- - 扩展 Term 的对象包括诸如 TrigTerm 之类的东西,用于表示三角函数。
Equation
- - 这是一个 Term 集合
- - Equation 的 toString() 方法将调用其所有 Term 的 toString() 方法并连接结果。
对于简单的方程式,我的方法运行良好:
![x^2 + 3](https://istack.dev59.com/QXVYV.gif)
这只是两个 Term:一个带有变量“x”和指数“2”,另一个仅是常数“3”。
但是对于更复杂的方程式,情况就不是那么理想了:
![alt text](https://istack.dev59.com/fyvNU.gif)
是的,这是一个糟糕的例子,但我只是想说明一下。
那么问题来了:什么是将数学方程表示为Java对象的最佳方法?是否有任何已经实现这个功能的库?