怎样求用matlab nlinfit 拟合的参数的标准误。

如题,本人想求matlab nlinfit 拟合的参数的标准误,请各位高抬贵手帮帮我,谢谢大家了!
fun1.m文件:如下
function ydata=fun1(p,xdata)
ydata=p(1)*exp(1+((p(2)-xdata)./p(3))-exp((p(2)-xdata)./p(3)));
% xdata,ydata 为实验所得数据;p( )为参数
Command Window 输入初始数据:
clear
%输入实验数据 xdata,ydata
xdata=[18 21 24 27 30 33]
ydata=[0.6470 0.8167 0.8915 0.8499 0.8312 0.7978 ]
%设定迭代初始值Parameters0,分别代表a,b,c,
Parameters0 =[0.95,28,20] ;
[Parameters, r, j ] = nlinfit ( xdata, ydata, 'fu1',Parameters0)

 Respuesta aceptada

0 votos

clear,clc
x=[18 21 24 27 30 33]';
y=[0.6470 0.8167 0.8915 0.8499 0.8312 0.7978 ]';
fx=@(p,xdata)p(1)*exp(1+((p(2)-xdata)./p(3))-exp((p(2)-xdata)/p(3)));
p=[0.95,20,20];%0.8843 26.1995 12.1929];
n=length(y);
for l=1:5
p=lsqcurvefit(fx,p,x,y)
p=nlinfit(x,y,fx,p)
end
[p,r,j]=nlinfit(x,y,fx,p);
figure(1),clf
plot(x,y,'o','markerfacecolor','k')
hold on
x1=linspace(min(x),max(x),200);
y1=fx(p,x1);
plot(x1,y1,'r-','linewidth',2.5)
axis tight
c=inv(j'*j);
SSy=var(y)*(n-1);
yhat=fx(p,x);
RSS=(y-yhat)'*(y-yhat); % residual sum of squares
MSe=RSS/(n-3-1), %mean squares of residuals
rsquare=(SSy-RSS)/SSy,%determinant coefficeient
sp=sqrt(MSe*diag(c)'), % standard error of p
t=p./sp, % t value
数据点太少,误差估计不合适,结果难以为据。

Más respuestas (0)

Categorías

Más información sobre MATLAB 快速入门 en Centro de ayuda y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!