如何用matlab中的cftool工具拟合logistic方程?
t=1978:1:2010;w=[56663274575576978998511101313142817821920215022922601314943385145580...
t=1978:1:2010;
w=[566 632 745 755 769 789 985 1110 1313 1428 1782 1920 2150 2292 2601 3149 4338 5145 5809 6241 6854 7656 8772 10007 11374 12567 14332 16614 19228 22844 26404 29688 32074]
Logistic的标准形式应该是b/(1+c*exp(-r*t))
然后我用cftool进行拟合就成了这样
真的不知道怎么办了 求教各位大神
用matlab7拟合出来也是一根横线 展开
w=[566 632 745 755 769 789 985 1110 1313 1428 1782 1920 2150 2292 2601 3149 4338 5145 5809 6241 6854 7656 8772 10007 11374 12567 14332 16614 19228 22844 26404 29688 32074]
Logistic的标准形式应该是b/(1+c*exp(-r*t))
然后我用cftool进行拟合就成了这样
真的不知道怎么办了 求教各位大神
用matlab7拟合出来也是一根横线 展开
推荐于2016-01-07
展开全部
%%%%这个问题我曾经见到过,直到现在不知怎么回事,如果解答了可否通知我一下
xdata=1978:1:2010;%%%t
ydata=[566 632 745 755 769 789 985 1110 1313 1428 1782 1920 2150 2292 2601 3149 4338 5145 5809 6241 6854 7656 8772 10007 11374 12567 14332 16614 19228 22844 26404 29688 32074];
ff=inline('x(1)./(1+x(2).*exp(-x(3).*xdata))','x','xdata');
x00=[1,1,1];
[xx,wuch2]=lsqcurvefit(ff,x00,xdata,ydata);
disp('拟合后的参数为')
xx
disp('拟合后误差为')
wuch2
plot(xdata,ydata,'*');
hold on
title('基于最小二乘')
plot(xdata,ff(xx,xdata),'r');
legend('目标函数图','拟合后的函数图');
xdata=1978:1:2010;%%%t
ydata=[566 632 745 755 769 789 985 1110 1313 1428 1782 1920 2150 2292 2601 3149 4338 5145 5809 6241 6854 7656 8772 10007 11374 12567 14332 16614 19228 22844 26404 29688 32074];
ff=inline('x(1)./(1+x(2).*exp(-x(3).*xdata))','x','xdata');
x00=[1,1,1];
[xx,wuch2]=lsqcurvefit(ff,x00,xdata,ydata);
disp('拟合后的参数为')
xx
disp('拟合后误差为')
wuch2
plot(xdata,ydata,'*');
hold on
title('基于最小二乘')
plot(xdata,ff(xx,xdata),'r');
legend('目标函数图','拟合后的函数图');
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2023-05-16
展开全部
我在知乎上看,有人在cftool中输入公式:1./(a*exp(b*x)+c),这样就不是直线了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询