matlab拟合成指数函数,⽤Matlab如何拟合指数函数?[quote][parse]Bush wrote:[/parse]
⽤Matlab软件:知道指数函数y=exp(a*x+b)以及该函数的⼀些点,即,并求出a,b的值
那位⼤侠知道,请速发:usa_hp@163
不尽感谢
[/quote]
好像你的模型不太好
这样拟和出来的结果很不如⼈意
我上次⽤lsqcurvefit拟和过,结果很差,我以为出错了
就没有回你
今天⼜⽤cftool拟和了⼀下,结果与上次的⼀样,看来只能够说是你的模型不恰当了。
结果如下:
⽤cftool拟和结果:
fittedmodel1 =
General model:
fittedmodel1(x) = exp(a*x+b)
Coefficients (with 95% confidence bounds):
a = 0.0003925 (0.0003351, 0.0004499)
b = 7.51 (7.503, 7.517)
⽤函数lsqcurvefit拟和结果:
K>> format long
K>> a
a =
0.00039804211957 7.50963226605840
函数拟和过程:
function bush
y=1790:10:1990;
ydata=log(y);
x=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76.0 92 106.5 123.2 131.7 150.7 179.3 204 226.5 251.4];
matlab软件怎么使用a0=rand(1,2);
opt=optimset('TolFun',1e-10);
a=lsqcurvefit(@myfun,a0,x,ydata,[],[],opt)
xxx=3:0.5:260;
yyy1=a(1)*xxx+a(2);
yyy2=exp(yyy1);
plot(xxx,yyy1);
hold on
plot(xxx,yyy2);
% plot(xxx,yyy,x,y,'.');
% % yyy=xx(1).*xxx+xx(2); % % plot(xxx,yyy,x,ydata,'.'); function F=myfun(x,xdata) F=x(1).*xdata+x(2);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论