数学建模入门之MATLAB实现人口预测

华南理工大学   陈艺荣          邮箱:eecyryou@mail.scut.edu.cn

人口问题是我国最大社会问题之一,估计人口数量和发展趋势是我们制定一系列相关政策的基础。从人口统计年鉴,可查我国从1990年至2010年人口数据资料如下,试根据表中数据,分析人口增长的规律,并以此预测2011年和2012年的人口数量,然后与实际人口数量做对比,评价模型的优劣,并对我国人口政策提出建议。

表 1 不同年份我国的人口数量(万)

年份

1990

1991

1992

1993

1994

1995

1996

1997

数量

114333

115823

117171

118517

119850

121121

122389

123626

年份

1998

1999

2000

2001

2002

2003

2004

2005

数量

124761

125786

126743

127627

128453

129227

129988

130756

年份

2006

2007

2008

2009

2010

 

 

 

数量

131448

132129

132802

133450

134091

 

 

 

  

    本问题要求我们利用已知的人口数据建立相应的人口增长模型,并利用该模型计算2011年和2012年我国的人口数量。

在MATLAB中以多项式为目标函数作数据拟合的函数是polyfit,它的基本使用格式为:

函数:polyfit(x,y,n),其中参数n为指定多项式的阶。

polyfit函数进行2阶多项式拟合、4阶多项式拟合、5阶多项式拟合,用R=dot(y-polyval(p,t),y-polyval(p,t)) 计算拟合残差,再用polyval函数预测2011和2012年的人口。

    其中,人口数据存放在一个命名为renkoushuju.txt的文件当中,设定1990年为第0年,如下列数据所示。在matlab中使用fopen函数和textsan函数获取相关数据。

renkoushuju.txt文件数据如下

0 114333
1 115823
2 117171
3 118517
4 119850
5 121121
6 122389
7 123626
8 124761
9 125786
10 126743
11 127627
12 128453
13 129227
14 129988
15 130756
16 131448
17 132129
18 132802
19 133450
20 134091

代码如下

%renkouyuce.m     我国人口增长规律观测
%           C    年份和人口数据矩阵
%         year    年份
%         num    人口
%           a    2011年预测人口数
%           b    2012年预测人口数
 
%Chen Yirong 修改于2017年04月05日
 
clc;clear all           %清除所有
%提取1990年到2010年的人口数据,数据存储在renkoushuju.txt文件中
renkou=fopen('renkoushuju.txt');  %打开数据总文件
A=textscan(renkou,'%f %f');       %把每一列的数据读入到读入到单元数组A中
C=[A{1} A{2}];                    %从单元数组R中提取每列数据赋值给矩阵C
n=max(size(C));                   %确定读入数据的年份数目
year=C(:,1);num=C(:,2);           %赋值
 
%进行2阶、4阶、5阶拟合
p2= polyfit(year,num,2)        %2阶拟合
p4= polyfit(year,num,4)        %4阶拟合
p5= polyfit(year,num,5)        %5阶拟合
R5= dot(num-polyval(p5,year),num-polyval(p5,year)) %计算拟合残差
R4= dot(num-polyval(p4,year),num-polyval(p4,year)) %计算拟合残差
R2= dot(num-polyval(p2,year),num-polyval(p2,year)) %计算拟合残差

%绘制原始数据和拟合曲线图
hold on;
xlabel('year','color','b');     %设置横坐标名
ylabel('num','color','b');      %设置纵坐标名
title('1990-2010人口增长曲线','color','m');   %设置标题
grid on      %网格线
plot(year,num,'r*',year,polyval(p2,year),year,polyval(p4,year),year,polyval(p5,year)) 
legend('我国人口数量','2阶拟合', '4阶拟合','5阶拟合')

%人口预测
a=polyval(p5,21)    %预测2011年人口数量
b=polyval(p5,22)    %预测2012年人口数量

【作者简介】陈艺荣,男,目前在华南理工大学电子与信息学院广东省人体数据科学工程技术研究中心攻读博士。曾获2次华南理工大学三好学生、华南理工大学“优秀共青团员”、新玛德一等奖学金(3000元,综测第3)、华为奖学金(5000元,综测第3)、汇顶科技特等奖学金(15000元,综测第1),两次获得美国大学生数学建模竞赛(MCM)一等奖,获得2016年全国大学生数学建模竞赛(广东赛区)二等奖、2017年全国大学生数学建模竞赛(广东赛区)一等奖、2018年广东省大学生电子设计竞赛一等奖等科技竞赛奖项,主持一项2017-2019年国家级大学生创新训练项目获得优秀结题,参与两项广东大学生科技创新培育专项资金、一项2018-2019年国家级大学生创新训练项目获得良好结题、4项华南理工大学“百步梯攀登计划”项目,发表SCI论文3篇授权实用新型专利5项,在受理专利17项(其中发明专利13项,11项进入实质审查阶段)。
我的Github
我的CSDN博客
我的Linkedin

中国人口问题 2017年3月11日,国家卫计生委主任李斌、副主任王培安在十二届全国人大五次会议新闻中心举行的记者会上指出,中国的人口问题不缺数量,不光是现在不缺,未来几十年,未来一百年都不会缺人口数量。到2030年峰值时期,中国人口将有14.5亿左右,到2050年还有14亿左右的人口。全面放开二胎以后,国家卫计生委预测2017年全国人口出生数量预测最低值2023万,最高2300万。而国家统计局公布的2017年实际出生人口1723万人,比卫计生委预测最低值少300万人,其中二孩比例占51%【也就是说如果不实施二胎政策,全国只出生850万】 目前关于中国人口问题有乐观和悲观两种对立观点:一种认为我国人口基数大,今后应继续控制人口;另一种则认为,我国人口正在“坍塌”,危及经济发展和民族生存。 1. 请你(们)选择或提出若干人口关键指标,例如14岁以下人口占总人口比例,60岁以上人口占总人口比例,一对夫妇平均生育孩子数量,1980-2017全国小学生数量,全国人口平均年龄(核算每种指标社会正常运行的最低值、最高值及我国若干年后例如2030年,2050年,2100年的数值),建立数学模型,预测和分析我国人口发展态势,给出我国人口2030,2040,2050年的人口总数和结构(14岁以下和60岁以上人口占总人口的比例)。 2. 查阅相关数据,综合考虑目前90后生育观念(有的人认为90后多数一个孩子都不愿意要或不敢要,很多人不愿意结婚或结不起婚)、经济情况和生存压力、孩子就医和上学代价、人口结构(性别比)研究和预测2018-2025年我国每年人口出生情况。 3. 根据你们研究结果,向国家卫生健康委员会提交1份报告,提出你们的人口政策建议。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YirongChen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值