Matlab最小二乘法曲线拟合的应用实例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB机械工程

最小二乘法曲线拟合的应用实例

班级:

姓名:

学号:

指导教师:

一,实验目的

通过Matlab上机编程,掌握利用Matlab软件进行数据拟合分析及数据可视化方法

二,实验内容

1.有一组风机叶片的耐磨实验数据,如下表所示,其中X为使用时间,单位为小时h,Y为磨失质量,单位为克g。要求:

对该数据进行合理的最小二乘法数据拟合得下列数据。

x=[10000 11000 12000 13000 14000 15000 16000 17000 18000 19000 2 0000 21000 22000 23000];

y=[24.0 26.5 29.8 32.4 34.7 37.7 41.1 42.8 44.6 47.3 65.8 87.5 137.8 174. 2]

三,程序如下

X=10000:1000:23000;

Y=[24.0,26.5,29.8,32.4,34.7,37.7,41.1,42.8,44.6,47.3,65.8,87.5,137.8,17 4.2]

dy=1.5; %拟合数据y的步长for n=1:6

[a,S]=polyfit(x,y,n);

A{n}=a;

da=dy*sqrt(diag(inv(S.R´*S.R)));

Da{n}=da´;

freedom(n)=S.df;

[ye,delta]=polyval(a,x,S);

YE{n}=ye;

D{n}=delta;

chi2(n)=sum((y-ye).^2)/dy/dy;

end

Q=1-chi2cdf(chi2,freedom); %判断拟合良好度

clf,shg

subplot(1,2,1),plot(1:6,abs(chi2-freedom),‘b’)

xlabel(‘阶次’),title(‘chi2与自由度’)

subplot(1,2,2),plot(1:6,Q,‘r’,1:6,ones(1,6)*0.5) xlabel(‘阶次’),title(‘Q与0.5线’)

nod=input(‘根据图形选择适当的阶次(请输入数值)’);

elf,shg,

plot(x,y,‘kx’);xlabel(‘x’),ylabel(‘y’);

axis([8000,23000,20.0,174.2]);hold on

errorbar(x,YE{nod},D{nod},‘r’);hold off

title(‘较适当阶次的拟合’)

text(10000,150.0,[‘chi2=’num2str(chi2(nod))‘~’int2str(freedom(nod))])

text(10000,140.0,[‘freedom=’int2str(freedom(nod))])

text(20000,40.0,[‘Q=’num2str(Q(nod))‘~0.5’])

disp(‘’)

disp(‘拟合多项式系数’),disp(A{nod})

disp(‘拟合系数的离差’),disp(DA{nod})

运行结果分为两个阶段,第一阶段先判断拟合度,第二阶段根据拟合度,选择合适的拟合阶次,再绘出拟合结果。

运行结果如下:

>>根据图形选择适当的阶次(请输入数值)4

拟合多项式系数

0.0000 -0.0000 0.0000 -0.1609 504.2295

拟合系数的离差

0.0000 0.0000 0.0000 0.0399 153.3130

四.输出图像

相关文档
最新文档