leslie模型的求解

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用2010年数据预测未来5年,在matlab 中计算得到

由此可见,leslie 预测的误差相对比较小,准确度高。 附录 代码

g=[]; %输入标准化生育率预测值g k=[]; %输入出生人口性别比预测值 n=[]; %输入2010年年龄别女性人口数 m=[]; %输入2010年年龄别男性人口数 m0=m'; n0=n';

b=g*B; %计算年龄别生育率 d1=[]; %输入女性年龄别死亡率 d2=[]; %输入男性年龄别死亡率 s1=(1000-d1)./1000;

s2=(1000-d2)./1000;

20112011.520122012.520132013.520142014.520159

年份

人数

M1=eye(90); %90维单位矩阵

for i=1:90

M1(i,:)=M1(i,:)*s1(1,i);

end

h=zeros(91,1); %生成零矩阵

N1=[b;M1];

L1=[N1,h];

i=1;

X(:,i)=L1*n0;

X(1,i)=X(1,i)*100/(100+k(i));

for i=2:51

X(:,i)=L1*X(:,i-1);

X(1,i)=X(1,i)*100/(100+k(i));

end

%计算未来50年女性预测人口数,记为X M2=eye(90) %90维单位矩阵

for i=1:90

M2(i,:)=M2(i,:)*s2(1,i);

end

h0=zeros(1,90); %生成零矩阵

N2=[h0;M2];

L1=[N2,h];

i=1;

Y(:,i)=L2*m0;

X(1,i)=X(1,i)*k(i)/100;

for i=2:6

Y(:,i)=L2*Y(:,i-1);

Y(1,i)=X(1,i)*k(i)/100;

end

%计算未来50年男性预测人口数,记为Y Z=X+Y; %总人数

T=sum(Z);

g1=2011:2061;

plot(g1,T,'r')

相关文档
最新文档