操作方法
运行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]
输入 a=polyfit(x,y,1); x1=1:0.5:28; y1=a(1)*x1+a(2); plot(x,y,'*',x1,y1,'r') 显示如下 (该图是线性回归拟合图),反应了函数整体上升时的趋势,但具体细节部分并么有反映出来。
下面对曲线进行二次拟合,其程序代码如下 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后,如第二图所示(二次拟合图)
对比两次的拟合图,会发现二次拟合出来的结果比一次拟合结果更加准确,但仍未反映出数据的真实情况。在对曲线进行高次拟合。 输入 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的取值
输入 plot(x,y,'*',x3,y3,'-r') 按enter键有如下图像。 这个图像是对曲线进行的5次拟合的结果,基本上反映出了数据的真实变化情况。需要注意的是不可以对数据进行太高次数的拟合,次数太高就会出现警告。