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

📄 exm051022_2.m

📁 书名应为《掌握和精通MATLAB》附有完整的源程序
💻 M
字号:
%exm051022_2.m   	利用伪线性和fminsearch混合法进行非线性参数估计
clear,clf
k_noise=0.3;
[x,y,STDY]=xydata(k_noise);
a0=[1 2]';
options.TolX=0.001;
options.Display='off';
while 1		
   Mb=exp(-x*a0');
   b=Mb\y;
   a=fminsearch('twoexps2',a0,options,x,y,b);
   r=norm(a-a0)/norm(a);
   if r<0.001;break;end
   a0=a;
end
chi_est=twoexps2(a,x,y,b)/STDY^2;
freedom=length(x)-length([a;b]);
Q=1-chi2cdf(chi_est,freedom);
y_est=b(1)*exp(-a(1)*x)+b(2)*exp(-a(2)*x);
ych='y_e_s_t=';
b1=num2str(b(1));b2=num2str(b(2));a1=num2str(a(1));a2=num2str(a(2));
char_y_est=[ych ,b1,'*exp(-',a1,'*x) + ',b2,'*exp(-',a2,'*x)'];
shg,
plot(x,y,'b+');hold on;plot(x,y_est,'r');hold off;axis([0,4,0,16])
text(0.4,14,'y=3*exp(-0.4*x)+12*exp(-3.2*x)');text(0.4,12,char_y_est)
text(2.5,9,['chi2=' , num2str(chi_est)])
text(2.5,7,['freedom=' , num2str(freedom)])
text(2.5,5,['Q=' , num2str(Q)])

⌨️ 快捷键说明

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