求大神帮我用matlab拟合一个logistic人口模型,要求r和Xm

数据如下YearTotalPopulation/×10^41978457.701979462.071980465.991981471.761982478.33198348... 数据如下Year Total Population/ ×10^41978 457.70 1979 462.07 1980 465.99 1981 471.76 1982 478.33 1983 481.46 1984 484.18 1985 487.74 1986 491.89 1987 498.15 1988 503.06 1989 507.64 1990 510.76 1991 514.16 1992 516.72 1993 519.98 1994 522.85 1995 526.20 1996 530.08 1997 533.31 1998 535.27 1999 538.41 2000 540.94 2001 543.34 2002 546.19 2003 549.07 2004 552.69 2005 556.70 2006 560.45 2007 564.56 2008 568.09 2009 571.02 2010 574.08 2011 576.40 2012 577.71 2013 580.15 2014 583.78 2015 586.57 2016 590.96 展开
 我来答
lhmhz
高粉答主

2018-09-28 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7263 获赞数:16991

向TA提问 私信TA
展开全部

logistic人口模型:

y=Xm/[1+(Xm/X0-1)*exp(-r*t)]

该人口模型可以用lsqcurvefit()拟合函数,求得

Xm=0.021894;r=-2.9838e-07

即,y=0.021894/[1+(0.021894/457.70-1)*exp(-2.9838e-07*t)]

t为年份序列,t=1,2,3,。。。

追问
感谢!
想请问一下为什么拟合后是一条直线呢?人口模型难道不是先曲线最后趋向于一条水平线(人口最大容量)吗?而且为什么Xm会是一个这么小的数呢?
以及能否用这个模型来预测未来人口,比如2030或2050年的人口数量呢?
我看到网上有人使用cftools最小二乘拟合,请问答主能不能帮忙再拟一下w
追答

修改模型可以得到,

Xm=692.4347;X0=455.452;r=0.027641

即,y=692.4347/[1+(692.4347/455.452-1)*exp(0.027641*t)]

预测2030年的人口数量:618.1135×10^4

预测2050年的人口数量:647.6337×10^4

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式