Java 用于根据一组点估计多项式的库

Java library for estimating a polynomial based on a set of points

多项式的次数应该是 # of points - 1 例如如果有 2 个点,它应该是一条线。

我知道我可以使用矩阵解决这个问题

例如如果有4个点:
多项式为 y = ax^3 + bx^2 + cx + d,矩阵为

| y0 |         | x0^3    x0^2    x0    1 |     | a |
| y1 |    =    | x1^3    x1^2    x1    1 |  x  | b |
| y2 |         | x2^3    x2^2    x2    1 |     | c |
| y3 |         | x3^3    x3^2    x3    1 |     | d |

我可以解出 a,b,c,d。是否有库可以执行此操作,输入是点 {x0,y0} 到 {xn,xn}?

调查贾马 http://math.nist.gov/javanumerics/jama/ 特别是它的 QR 分解 class。

我目前正在写一些非常相似的东西,我发现这个来自普林斯顿的 CIS 程序非常有帮助。

http://introcs.cs.princeton.edu/java/97data/MultipleLinearRegression.java.html

唯一来自 Jama 的是它没有 return x 截距,所以你的方程中没有 d。

您也可以在 excel 中使用数据分析工具执行此操作,然后单击回归,然后 return 统计您的数据集和最适合您的数据的方程式。