上一篇文章我们介绍了ApacheCommonsMath3学习之数值积分实例代码,这里给大家分享math3多项式曲线拟合的相关内容,具体如下。
多项式曲线拟合:org.apache.commons.math3.fitting.PolynomialCurveFitter类。
用法示例代码:
//...创建并初始化输入数据:
double[]x=newdouble[...];
double[]y=newdouble[...];
将原始的x-y数据序列合成带权重的观察点数据序列:
WeightedObservedPointspoints=newWeightedObservedPoints();
//将x-y数据元素调用points.add(x[i],y[i])加入到观察点序列中
//...
PolynomialCurveFitterfitter=PolynomialCurveFitter.create(degree);//degree指定多项式阶数
double[]result=fitter.fit(points.toList());//曲线拟合,结果保存于双精度数组中,由常数项至最高次幂系数排列
首先要准备好待拟合的曲线数据x和y,这是两个double数组,然后把这两个数组合并到WeightedObservedPoints对象实例中,可以调用WeightedObservedPoints.add(x[i],y[i])将x和y序列中的数据逐个添加到观察点序列对象中。随后创建PolynomialCurveFitter对象,创建时要指定拟合多项式的阶数,注意阶数要选择适当,不是越高越好,否则拟合误差会很大。最后调用PolynomialCurveFitter的fit方法即可完成多项式曲线拟合,fit方法的参数通过WeightedObservedPoints.toList()获得。拟合结果通过一个double数组返回,按元素顺序依次是常数项、一次项、二次项、……。
完整的演示代码如下:
interfaceTestCase
{
publicObjectrun(List
总结
以上就是本文关于ApacheCommonsMath3探索之多项式曲线拟合实现代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:ApacheCommonsMath3学习之数值积分实例代码、apachezookeeper使用方法实例详解等,有什么问题可以随时留言,小编会及时回复大家。下面推荐几本Java方面的书籍,供大家学习,免费的哦。
7天学会spring+cloud教程pdf格式
www.nhooo.com/books/575161.html
Java核心技术:基础知识卷I(原书第10版)(凯S.霍斯特曼)中文pdf完整版
https://www.nhooo.com/books/569792.html
更多精彩内容,尽在https://www.nhooo.com/