《人口预测matlab.docx》由会员分享,可在线阅读,更多相关《人口预测matlab.docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、人口预测matlab数学建模第一次实验报告一.实验目的学习有关人口预测的模型,了解有关混沌的基本理论,建立人口预报模型,并完成人口总量的预报,能够用软件完成数据计算。二.实验内容1.下表为我国自1949年至2000年的人口数据,请根据人口模型,预测出2020、2021年我国的人口总数,并根据中国统计局的全国人口普查公报的1%调查数据,计2.谈谈你所认识的混沌三.实验步骤1.查阅资料选择模型通过查阅资料,发如今考虑算法复杂度以及预测效果等综合因素时,阻滞增长模型Logistic模型要优于其他模型,所以我们选用阻滞增长模型进行本次实验。2.建立模型阻滞增长模型Logistic模型是考虑到自然资源、
2、环境条件等因素对人口增长的阻滞作用,对指数增长模型的基本假设进行修改后得到的。阻滞作用体如今对人口增长率r的影响上,是的r随着人口数量x的增加而下降。若将r表示为x的函数()rx,则它应是减函数,于是有:()()0,0dxrxxxxdt=1对于()rx的一个最简单的假设是()rx为x的线性函数,即: ()(),0,0rxrsxrs=-2设自然资源和环境所能包容的最大人口数量为mx,当mxx=时人口不在增长,即增长率()0mrx=,代入2式可得mrsx=,所以有:()(1)mrrxrx=-3将3式代入1式得:()0(1)0mdxrrxdtxxx?=-?=?4解4可得5式:()01(1)emrtm
3、xxtxx-=+-53.根据模型原理进行编程程序见第五部分。4.运行结果采用1949年到2000年的人口调查结果作为数据,计算得到的模型参数()rx和mx为:()0.0296rx=,()204.5537mx=千万人。1949年到2000年的预测结果与人口调查结果比照图如图1所示。图1.1949-2000年实际人口与理论值的比拟预测2020年和2021年的人口数为:2020年14.17亿,2021年14.78亿。考虑到1971年我国开场全面实行计划生育政策这一非自然因素,我们采用1971年到2000年的人口调查结果作为数据,计算得到的模型参数()rx和mx为:()0.0396rx=,()165.
4、0319mx=千万人。1971年到2000年的预测结果与人口调查结果比照图如图2所示。图2.1971-2000年实际人口与理论值的比拟预测2020年和2021年的人口数为:2020年13.84亿,2021年14.25亿。根据中华人民共和国国家统计局于2020年4月28日发布的(2020年第六次全国人口普查主要数据公报),我国2020年的人口总数为1370536875人。与这一调查结果相比,第二次的预测结果与调查结果更为类似,相差0.13亿。四.对混沌的认识通过查阅资料,得知在非线性科学中,混沌现象指的是一种确定的但不可预测的运动状态。它的外在表现和纯粹的随机运动很类似,即都不可预测。但和随机运
5、动不同的是,混沌运动在动力学上是确定的,它的不可预测性是来源于运动的不稳定性。或者讲混沌系统对无限小的初值变动和微扰也具于敏感性,无论多小的扰动在长时间以后,也会使系统彻底偏离原来的演化方向。一个比拟容易理解混沌现象是著名的蝴蝶效应。五.实验代码第一次预测的实验代码为:functionmainclearallloaddata.txt;t=data(:,1);x=data(:,2)/1000;s=size(x);x1=x(1:s(2)-1);x2=x(2:s(2);dx=(x2-x1)./x2a=polyfit(x2,dx,1)r=a(2),xm=-r/a(1)x0=55.19;f=inline
6、(xm./(1+(xm/x0-1)*exp(-r*(t-1949),t,xm,r,x0);plot(t,f(t,xm,r,x0),-r,t,x,+b);title(1949-2000年实际人口与理论值的比拟)x2020=f(2020,xm,r,x0)x2021=f(2021,xm,r,x0)第二次预测的实验代码为:clearallloaddata.txt;tt=data(:,1);xx=data(:,2)/1000;sx=size(xx);st=size(tt);x=xx(23:sx(2)t=tt(23:st(2);s=size(x);x1=x(1:s(2)-1);x2=x(2:s(2);dx=(x2-x1)./x2a=polyfit(x2,dx,1)r=a(2),xm=-r/a(1)x0=86.7;f=inline(xm./(1+(xm/x0-1)*exp(-r*(t-1971),t,xm,r,x0);plot(t,f(t,xm,r,x0),-r,t,x,+b);title(1971-2000年实际人口与理论值的比拟)x2020=f(2020,xm,r,x0)x2021=f(2021,xm,r,x0)