计算机编程进行指数函数拟合,用Matlab如何拟合指数函数?

[quote][parse]Bush wrote:[/parse]

用Matlab软件:知道指数函数y=exp(a*x+b)以及该函数的一些点,即,并求出a,b的值????????

那位大侠知道,请速发:usa_hp@163.com

不尽感谢!!!!!!!!!!!!!!!

[/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];

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);

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值