matlab中用nlinfit拟合指数函数f=a*exp(b*x)+c*exp(d*x)

x=[20092010201120122013]y=[74.0887.4294.39113.08139.65]求程序代码... x=[2009 2010 2011 2012 2013]
y=[74.08 87.42 94.39 113.08 139.65]
求程序代码
展开
 我来答
lhmhz
高粉答主

2016-05-07 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17007

向TA提问 私信TA
展开全部

对于还有年份的拟合问题,应按序列向量来处理,这样拟合的结果是有效的。即

x=[2009 2010 2011 2012 2013] 应改写为  x=1;5; %2009-2013年

具体实施代码如下

 x=1;5;

y=[74.08 87.42 94.39 113.08 139.65];

fun=@(a,x)[a(1).*exp(a(2)*x)+a(3).*exp(a(4)*x)];

%a=a(1),b=a(2),c=a(3),d=a(4)

x0=[1 0.3 0.5 0.2]

a= nlinfit(x,y,fun,x0

d=a(4),c=a(3),b=a(2),a=a(1)

运行结果

d =         0.116774298952341

c =         66.7544631579477

b =         1.2220839296099

a =        0.0444737875381383

对比图形

追问
请问如何设置左上角图示和横坐标为2009-2013?谢谢
追答
可用set()函数来设置.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式