06.08.2013 Views

内容简介作者简介 - 科学与工程计算系

内容简介作者简介 - 科学与工程计算系

内容简介作者简介 - 科学与工程计算系

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

−0.<br />

4x<br />

−3.<br />

2x<br />

【例 4.10.2.2-1】取发生信号的原始模型为 y(<br />

x)<br />

= 3e<br />

+ 12e<br />

。x 在[0, 4]中取值;y 受<br />

−a3x<br />

−a4<br />

x<br />

到噪声 0.3*(rand(n,1)-0.5) 的污染。本例演示:如何以 y = a1e<br />

+ a2e<br />

为模型,通<br />

过 fminsearch 从受污染数据中,估计出参数 a = [ a(<br />

1),<br />

a(<br />

2),<br />

a(<br />

3),<br />

a(<br />

4)]<br />

= [ a1,<br />

a2<br />

, a3,<br />

a4<br />

] 。<br />

(1)<br />

[xydata.m]<br />

function [x,y,STDY]=xydata(k_noise)<br />

%xydata.m<br />

x=[0:0.2:4]';<br />

yo=3*exp(-0.4*x)+12*exp(-3.2*x);<br />

rand('seed',234)<br />

y_noise=k_noise*(rand(size(x))-0.5);<br />

y=yo+y_noise;<br />

STDY=std(y_noise);<br />

[twoexps.m]<br />

function E=twoexps(a,x,y)<br />

%twoexps.m<br />

x=x(:);y=y(:);Y=a(1)*exp(-a(3)*x)+a(2)*exp(-a(4)*x);<br />

E=sum((y-Y).^2);<br />

(2)编写 M 脚本文件作为主文件<br />

[exm041022_1.m]<br />

%exm041022_1.m<br />

k_noise=0.3;<br />

[x,y,STDY]=xydata(k_noise);<br />

a0=[1 1 1 1];<br />

options=optimset('fminsearch');<br />

options.TolX=0.01;<br />

options.Display='off';<br />

a=fminsearch(@twoexps,a0,options,x,y);<br />

chi_est=twoexps(a,x,y)/STDY^2;<br />

freedom=length(x)-length(a0);<br />

Q=1-chi2cdf(chi_est,freedom);<br />

%<br />

y_est=a(1)*exp(-a(3)*x)+a(2)*exp(-a(4)*x);<br />

ych='y_e_s_t=';<br />

a1=num2str(a(1));a2=num2str(a(2));a3=num2str(a(3));a4=num2str(a(4));<br />

char_y_est=[ych,a1,'*exp(-',a3,'*x) + ',a2,'*exp(-',a4,'*x)'];<br />

plot(x,y,'b+');hold on,plot(x,y_est,'r');hold off,axis([0,4,0,16])<br />

text(0.4,14,'y=3*exp(-0.4*x)+12*exp(-3.2*x)')<br />

text(0.4,12,char_y_est),text(2.5,9,['chi2=' , num2str(chi_est)])<br />

text(2.5,7,['freedom=' , num2str(freedom)])<br />

text(2.5,5,['Q=' , num2str(Q)])<br />

(3)<br />

exm041022_1<br />

23

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!