马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
- %Logistic人口模型:x(t)=N/(1+(N/x0-1)*exp(-r*t))
- %x为1965年到2004年人口数据
- %N是人口的最大值,由自然条件或环境等条件因素造成的
- %x0是初始时刻的人口数量,r是固有的人口增长率
- t=1:40;
- x=[72.538,74.542,76.368,78.534,80.671,82.992,85.229,87.177,89.211,90.859,92.420,93.717,94.974,96.259,97.542,98.705,100.072,101.654,103.008,104.357,105.851,107.507,109.300,111.026,112.704,114.333,115.823,117.171,118.517,119.850,121.121,122.389,123.626,124.761,125.786,126.743,127.627,128.453,129.227,129.988];
- %人口的最大值N=p(1),固有的人口增长率r=p(2)
- f=inline('p(1)./(1+(p(1)/72.538-1)*exp(-p(2)*t))','p','t');
- p=nlinfit(t,x,f,[200,0.01])
- %预测2050年人口
- t_pre=86;
- x_pre=p(1)./(1+(p(1)/72.538-1)*exp(-p(2)*t_pre))
- plot(t,x,'o')
- hold on
- tt=1:0.1:100;
- xx=p(1)./(1+(p(1)/72.538-1)*exp(-p(2).*tt));
- plot(tt,xx)
- hold on
- plot(t_pre,x_pre,'ks')
- title('预测2050年人口(单位:千万)')
- text(t_pre,x_pre+2,num2str(x_pre))
复制代码
有兴趣了解更多matlab程序的朋友请看我的QQ空间:http://user.qzone.qq.com/52775569 我就不在这里一一转载了 |