⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zongchengxu.m

📁 通过现有的人口数据结构特点
💻 M
字号:
%计算2050年人口分布情况及总数
   %2005年人口总数分布情况,可由前面计算结果得到
  clear
  
 clc
 
 mm=2030;%  改变相应的年份
   format short
   f=[
      0.1404
    0.1381
    0.1331
    0.1377
    0.1490
    0.1541
    0.1505
    0.1670
    0.1695
    0.1750
    0.1965
    0.1874
    0.2084
    0.2156
    0.2353
    0.2661
    0.2424
    0.2141
    0.2148
    0.1726
    0.1514
    0.1479
    0.1533
    0.1819
    0.1636
    0.1620
    0.1721
    0.1710
    0.1649
    0.1841
    0.1947
    0.2136
    0.2250
    0.2354
    0.2459
    0.2706
    0.2503
    0.2765
    0.2232
    0.2516
    0.2581
    0.2468
    0.2917
    0.2190
    0.1215
    0.1550
    0.1413
    0.1849
    0.2101
    0.1917
    0.2098
    0.2039
    0.1892
    0.1897
    0.1609
    0.1610
    0.1551
    0.1326
    0.1310
    0.1191
    0.1158
    0.1062
    0.0989
    0.0962
    0.0963
    0.0982
    0.0800
    0.0888
    0.0848
    0.0823
    0.0836
    0.0720
    0.0750
    0.0635
    0.0563
    0.0586
    0.0458
    0.0456
    0.0400
    0.0328
    0.0333
    0.0272
    0.0231
    0.0203
    0.0164
    0.0136
    0.0099
    0.0075
    0.0063
    0.0046
    0.0138  
   ];
 
 %2005--2050年间婴儿的出生数目,可由前面的计算数据得到
%2016年--2050年的城市新生婴儿人口总数

 format long
 d1=1.4;
 d2=1.7;
 d3=2.0;
 r1=104;
 r2=104;
 r3=104;
 q=0.1403;
 c1=(2357679+2350224)/16985767;
 a=zeros(35,1);
  for ii=1:35
       a(ii,1)=d1*q*c1*(100/r1)^(10+ii)*(1+0.01)^(10+ii);
   end
a_chengshi=a;

%2016--2050年的镇新生婴儿人口总数
 q=0.1403;
 c1=(1464804+1444176)/16985767;
 a=zeros(35,1);
  for ii=1:35
       a(ii,1)=d2*q*c1*(100/r2)^(10+ii)*(1+0.01)^(10+ii);
   end
a_zhen=a;

%2016--2050年的乡新生婴儿人口总数
 q=0.1403;
 c1=(4762400+4606484)/16985767;
 a=zeros(35,1);
  for ii=1:35
       a(ii,1)=d3*q*c1*(100/r3)^(10+ii)*(1-0.01)^(10+ii);
   end
a_xiang=a;

%2016--2050年新生婴儿总数
  a=[a_chengshi,a_zhen,a_xiang];
  b=(sum(a'))';
  b=[
      0.1427
    0.1448
0.142
0.1372
0.1373
0.1421
0.1448
0.1414
0.1369
0.1377
0.1427
b  
  ];
  
 %以后各年龄段的人口存活率,可由前面计算数据得到
   h=[
   0.99959890780000
   0.99997102180000
   0.99997135740000
   0.99997448160000
   0.99998170060000
   0.99998226840000
   0.99998260300000
   0.99998212380000
   0.99998447160000
   0.99998922520000
   0.99998009820000
   0.99998673980000
   0.99998428860000
   0.99997356700000
   0.99997243400000
   0.99997387780000
   0.99997593280000
   0.99996979080000
   0.99996828320000
   0.99997615940000
   0.99997291260000
   0.99996753000000
   0.99996793340000
   0.99996369780000
   0.99997257140000
   0.99996786980000
   0.99996776760000
   0.99991722540000
   0.99995410820000
   0.99994150420000
   0.99993725960000
   0.99994318080000
   0.99993362860000
   0.99993231660000
   0.99993418120000
   0.99992510140000
   0.99991386480000
   0.99992392120000
   0.99991113320000
   0.99990958880000
   0.99990408060000
   0.99990129540000
   0.99992022320000
   0.99991731540000
   0.99989850020000
   0.99989549060000
   0.99988952980000
   0.99988415020000
   0.99985624660000
   0.99984350100000
   0.99983634080000
   0.99983597420000
   0.99981427820000
   0.99983449820000
   0.99982848560000
   0.99980826480000
   0.99981171560000
   0.99983210000000
   0.99978389340000
   0.99978713440000
   0.99975925860000
   0.99976886940000
   0.99973009780000
   0.99970850820000
   0.99969022980000
   0.99965806860000
   0.99966612880000
   0.99962281660000
   0.99959544260000
   0.99955510720000
   0.99949930320000
   0.99951838440000
   0.99949040340000
   0.99951042140000
   0.99951945300000
   0.99948134840000
   0.99955297420000
   0.99951216400000
   0.99954049680000
   0.99956356140000
   0.99952490460000
   0.99957870480000
   0.99954648400000
   0.99964882240000
   0.99966972380000
   0.99970738640000
   0.99974535840000
   0.99980299960000
   0.99979688060000
   0.99984942880000
   0.99934253520000
];
%存活率累乘
%假设s表示年龄
%(s<=45岁)
  k=mm-2005+1;
    for  n=2:k
        h1(1)=h(1);
        h1(n)=h(n)*h1(n-1);
    end
    h1; %存活率累乘
 
 %2050年s岁人口数
 num1=zeros(1,k)
 for  n=1:k;
    num1(n)=b(k+1-n)*h1(n);
end
num1'%所得数据从0岁开始
vv=sum(num1')

%(s>45)
num2=zeros(1,91-k);
for  n=1:91-k;
    num2(n)=f(n+1)*h(92-k-n);
end
num2';
num=[num1';num2'];
sum(num);
renkoushu=[num;sum(num)]

 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -