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

📄 examp.m

📁 这是在网上下的一个东东
💻 M
字号:
%% Reset to a known state.%clearrand('state',0);randn('state',0);%% Global variables for observed Theta and h values, etc.%global H;global TM;global SIGMA;global Q;global D;%% The unknown/estimated parameters are S=p(1) and T=p(2).%%% The data.  Head is measured to the nearest centimeter.  %H=[0.72 0.49 0.30 0.20 0.16 0.12];TM=[5.0 10.0 20.0 30.0 40.0 50.0];%% Fixed parameter values.%D=60;Q=50;%% We'll use sigma=1cm.  %for i=1:length(TM)  SIGMA(i)=0.01;end%% Solve the least squares problem with LM.%p0=[0.001; 1.0];[pest,itercnt]=lm('fun','jac',p0,1.0e-12,100);%% Check the chi^2 value.%chi2=norm(fun(pest))^2pvalue=1-chi2cdf(chi2,length(H)-2)%% Compute the covariance matrix, correlation matrix, and confidence intervals.%Jest=jac(pest);C=inv(Jest'*Jest);m=max(size(C));for i=1:m  for j=1:m    Corm(i,j)=C(i,j)/(sqrt(C(i,i))*sqrt(C(j,j)));  endendfprintf('S=%.5f +- %.5f\n',[pest(1) 1.96*sqrt(C(1,1))]);fprintf('T=%.5f +- %.5f\n',[pest(2) 1.96*sqrt(C(2,2))]);fprintf('Covariance matrix is \n');Cfprintf('Correlation matrix is \n');Corm%% Now, plot the data and fitted curve.%figure(1);clf;bookfonts;tfit=0.001:1.0:51;for i=1:length(tfit),  hfit(i)=Q*exp(-D^2*pest(1)/(4*pest(2)*tfit(i)))/(4*pi*pest(2)*tfit(i));endplot(tfit,hfit,'k-');hold onerrorbar(TM,H,SIGMA,'ko');xlabel('Time (hours)');ylabel('Head (m)');%print -deps slugplot.eps%% Produce a contour plot of the chi^2 function.%figure(2);clf;bookfonts;[X,Y]=meshgrid(0.0001:0.0001:0.01,0.01:0.01:2.0);Z=zeros(size(X));[m,n]=size(X);for i=1:m  for j=1:n    Z(i,j)=norm(fun([X(i,j); Y(i,j)]))^2;  endend  [CS,HHH]=contour(X,Y,Z,[10 100 500  1000 2000]);for i=1:length(HHH),  set(HHH(i),'EdgeColor','k');end;%% These labels don't look to good, so we'll label by hand.%HH=xlabel('S');set(HH,'FontSize',18);HH=ylabel('T (m^2/hr)');set(HH,'FontSize',18);%print -deps slugcontour.eps%% Plot a second contour plot much closer to the fitted values.%figure(3);clf;bookfonts;[X,Y]=meshgrid(0.0017:0.000025:0.0025,0.50:0.001:0.70);Z=zeros(size(X));[m,n]=size(X);for i=1:m  for j=1:n    Z(i,j)=norm(fun([X(i,j); Y(i,j)]))^2;  endend  [CS,HHH]=contour(X,Y,Z,[chi2+chi2inv(0.95,2) chi2+chi2inv(0.95,2)]);set(HHH(1),'EdgeColor','k');HH=xlabel('S');set(HH,'FontSize',18);HH=ylabel('T (m^2/hr)');set(HH,'FontSize',18);%% Put in the individual 95% CI's.%hold onplot([pest(1)-1.96*sqrt(C(1,1)) pest(1)-1.96*sqrt(C(1,1))],[0.5 0.7],'k--');plot([pest(1)+1.96*sqrt(C(1,1)) pest(1)+1.96*sqrt(C(1,1))],[0.5 0.7],'k--');%% Comment these out to get the 95% CI for the other parameter. %%plot([0.0017 0.0025],[pest(2)-1.96*sqrt(C(2,2)) pest(2)-1.96*sqrt(C(2,2))],'k--');%plot([0.0017 0.0025],[pest(2)+1.96*sqrt(C(2,2)) pest(2)+1.96*sqrt(C(2,2))],'k--');%print -deps slugcontour2.eps

⌨️ 快捷键说明

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