在matlab下,学会对数据求解最小二乘曲线拟合
1、运行matlab软件,就不赘述了。直接进行编写程序。输入x=[1 4 5 8 10 16 17 18 20 23 24 26 27 28]y=[0.5 0.9 1.3 0.7 2.0 2.5 1.7 1.4 1.5 1.8 2.2 2.5 3.0 4.3]
2、输入a=polyfit(x,y,1);x1=1:0.5:28;y1=a(1)*x1+a(2);plot(x,y,'*',x1,y1,'r')显示如下(该图是线性回归拟合图),反应了函数整体上升时的趋势,但具体细节部分并么有反映出来。
3、下面对曲线进行二次拟合,其程序代码如下b=polyfit(x,y,2);x2=1:0.5:28;y2=b(1)*x2.^2+b(2)*x2+b烫喇霰嘴(3)按下enter键后出现如下所示在输入plot(x,y,'*',x2,y2,'r')后按下enter后,如第二图所示(二次拟合图)
4、对比两次的拟合图,会发现二次拟合出来的结果比一次拟合窑钕仇焱结果更加准确,但仍未反映出数据的真实情况。在对曲线进行高次拟合。输入c=polyfit(x,y,5);x3=1:0.5:28;y3=c(1)*x3.^5+c(2)*x3.^4+c(3)*x3.^3+c(4)*x3.^2+c(5)*x3+c(6)按enter键有如下y3的取值
5、输入plot(x,y,'*',x3,y3,'-r')按enter键有如下图像。这个图像是对曲线进行的5次拟合的结果,基本上反映出了数据的真实变化情况。需要注意的是不可以对数据进行太高次数的拟合,次数太高就会出现警告。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:72
阅读量:58
阅读量:22
阅读量:47
阅读量:89