matlab指数拟合 50
我有一些数据,要拟合形如y=a+bexp(cx)形式的方程,abc都是系数。要画出拟合的图形,急求程序!数据可以自己随便搞。...
我有一些数据,要拟合形如 y=a+bexp(cx)形式的方程,a b c都是系数。要画出拟合的图形,急求程序!数据可以自己随便搞。
展开
3个回答
展开全部
指数函数:( y = exp(a + b*x))
>> x = [2001 2002 2003 2004 2005 2006 2007 2008 2009];
y = [21.5 15.9 11.8 8.7 6.5 4.8 3.5 2.6 2.0];
y=log(y');
d = [1 1 1 1 1 1 1 1 1];
a=[d;x];
b = a*y;
a=a*a';
c=ab
c =
601.9448
-0.2993
%所以,拟合函数为 y = exp(601.9448 - 0.2993*x)
%根据拟合函数求估测值
>> x = [2010, 2011, 2012, 2013, 2014]
exp(601.9448 - 0.2993*x)
ans =
1.4216 1.0539 0.7813 0.5792 0.4294
>> x = [2001 2002 2003 2004 2005 2006 2007 2008 2009];
y = [21.5 15.9 11.8 8.7 6.5 4.8 3.5 2.6 2.0];
y=log(y');
d = [1 1 1 1 1 1 1 1 1];
a=[d;x];
b = a*y;
a=a*a';
c=ab
c =
601.9448
-0.2993
%所以,拟合函数为 y = exp(601.9448 - 0.2993*x)
%根据拟合函数求估测值
>> x = [2010, 2011, 2012, 2013, 2014]
exp(601.9448 - 0.2993*x)
ans =
1.4216 1.0539 0.7813 0.5792 0.4294
展开全部
把数据处理一下呀,取对数,再拟合
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
f=fittype('a+b*exp(c*x)');
n=fit(x,y,f);%x,y是所要拟合的数据,列向量
n=fit(x,y,f);%x,y是所要拟合的数据,列向量
追问
哎,没法确定起始点没办法拟合啊!x=[2001 2002 2003 2004 2005 2006 2007 2008 2009
]';
y=[60.0 57.7 55.9 53.6 52.2 49.3 44.1 40.4 38.2
]';求帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询