接上一篇文章,能解多项式以后,还需要利用那个类,根据若干采样点数据来对未来数据进行预测,拟合的矩阵在上一篇文章中已经贴出来了,这里就不说了,本篇主要是如何根据采样点来计算系数矩阵,并计算预测点的值。
原理很简单,公式在上一篇文章中也有了,此处直接贴代码。
其中用到了上一篇文章中写的类commonAlgorithm.PolynomiaSoluter
package commonAlgorithm;
import commonAlgorithm.PolynomialSoluter;
import java.lang.Math;
public class LeastSquare {
private double[][] matrixA;
private double[] arrayB;
private double[] factors;
private int order;
public LeastSquare() {
}
/*
* 实例化后,计算前,先要输入参数并生成公式 arrayX为采样点的x轴坐标,按照采样顺序排列
* arrayY为采样点的y轴坐标,按照采样顺序与x一一对应排列 order
* 为进行拟合的阶数。用低阶来拟合高阶曲线时可能会不准确,但阶数过高会导致计算缓慢
*/
public boolean generateFormula(double[] arrayX, double[] arrayY, int order) {
if (arrayX.length != arrayY.length)
return false;
this.order = order;
int len = arrayX.length;
// 拟合运算中的x矩阵和y矩阵
matrix