⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exm051013_1.m

📁 这是本人收集的一些程序源代码
💻 M
字号:
%exm051013_1.m
clc
%被拟合的原始数据
x=0:0.1:1;y=[2.1,2.3,2.5,2.9,3.2,3.3,3.8,4.1,4.9,5.4,5.8];
dy=0.15;							%原数据y的标准差
for n=1:6							%依次用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('chi 2与自由度')
subplot(1,2,2),plot(1:6,Q,'r',1:6,ones(1,6)*0.5)
xlabel('阶次'),title('Q 与0.5 线')  

%适当的三阶多项式拟合情况图示
nod=input('根据图形选择适当的阶次 (请输入数值) ');
clf,shg,
plot(x,y,'b+');axis([0,1,1,6]);hold on
errorbar(x,YE{nod},D{nod},'r');hold off
title('较适当的三阶拟合')
text(0.1,5.5,['chi2=' num2str(chi2(nod)) '~' int2str(freedom(nod))])
text(0.1,5,['freedom=' int2str(freedom(nod))])
text(0.6,1.7,['Q=' num2str(Q(nod)) '~0.5'])  

%拟合多项式的系数和离差
disp(' ')
disp('拟合多项式系数'),disp(A{nod})
disp('拟合系数的离差'),disp(DA{nod})	  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -