主题: [MATLAB基础] 曲线拟合求助
查看单个帖子
旧 2010-05-17, 19:28   #8
slgu
高级会员
 
注册日期: 2007-06-24
年龄: 70
帖子: 188
声望力: 21
slgu 正向着好的方向发展
默认 回复: 曲线拟合求助

你提供的模型可能不恰当,请用该模型进行拟合:
fx=@(b,x)b(1)*exp(b(2)*x+b(3)*x.^2+b(4)*x.^3+b(5)*x.^4);
请运行下列小程序:
clear,clc
x=[...]';%清输入x数据
y=[...]';%请输入y数据
b=[2.5540354806*10^(-41), 2653.32513908, -30459.7660992, 153943.375849, -292083.699481]
fx=@(b,x)b(1)*exp(b(2)*x+b(3)*x.^2+b(4)*x.^3+b(5)*x.^4);
b=lsqcurvefit(fx,b,x,y)
b=nlinfit(x,y,fx,b)
n=length(x)
SSy=var(y)*(n-1)
y1=fx(b,x);
q=(y-y1)'*(y-y1)
rsquare=(SSy-q)/SSy
figure(1),clf
plot(x,y,'ko')
hold on
plot(x,y1,'linewidth',2)
legend('data','fit','location','best')
axis tight
slgu 当前离线   回复时引用此帖