1、 2013年5月2日 指导教师: 闫晓辉 成 绩: 一.实验目的:掌握常微分方程模型的建模方法,并能用数值算法或MATLAB库函数求解。二.实验内容:下表列出了中国1982-1998年的人口统计数据,取1982年为起始年(),万人,万人。年198219831984198519861987198819891990人口(万人)10165410300810435710585110750710930011102611270411433319911992199319941995199619971998115823117171118517119850121121122389123626124810实验要求
2、:1、建立中国人口的指数增长模型,并用该模型进行预测,与实际人口数据进行比较。2、建立中国人口的Logistic模型,并用该模型进行预测,与实际人口数据进行比较。3、绘图,在图中标出中国人口的实际统计数据,并画出两种模型的预测曲线。三. 实验方案(程序设计说明)模型一:指数增长模型(马尔萨斯(Malthus)模型) 假设:人口净增长率r是一常数符号:时刻时的人口,可微函数时的人口则于是x(t)满足如下微分方程:解为:模型二:Logistic模型 人口净增长率应当与人口数量有关,即: r=r(x) 从而有:对马尔萨斯模型引入一次项(竞争项),令 r(x)=r-ax 此时得到微分方程: 或可改写成
3、: 分离变量:两边积分并整理得:令x(0)=,求得:满足初始条件x(0)=的解为:易见:四. 实验步骤或程序(经调试后正确的源程序)1、matlab源程序%以1982-1998年共计17个数据为例进行拟合:t=0:16; %输入数据s=101654 103008 104357 105851 107507 109300 111026 112704 114333 115823 117171 118517 119850 121121 122389 123626 124810;y=log(s);p=polyfit(t,y,1)2、matlab源程序s=101654*(1+0.0131).t;plot(
4、t,s,r)hold onos=200000./(1+(200000/101654-1)*exp(-0.029*t);c五程序运行结果1、运行结果p = 0.0131 11.5342预测公式预测1991-1998年的人口数量可得,1998年的由指数增长模型预测出的人口数于实际人口数相差最小,而其他年份的真实值与预测值之间有差别:实际人口指数增长模型误差115819411732515411885033312039554512196083912354511561251521526由1991年开始,指数增长模型预测的结果很好的反映了实际情况。按此模型预测现在中国人口已超过13亿,到2016年中国人口
5、将超过15亿。我们看到,尽管中国出台了计划生育的措施,但中国近几年仍处于高生育期,按指数增长模型预测的结果均比实际人口要多一些。同时由于中国人口调控政策比较得力,中国人口的自然增长率在逐年下降,虽仍有一定误差,但仍基本显示了1991-1998年的人口增长的趋势。2、运行结果如图所示:圈: 人口的实际统计数据 红线:人口的指数增长曲线x(t)=x0ert(x0=101654(1982人口),r=0.01116)蓝绿线:人口的Logistic增长曲线 N(t)=Nm/(1+(Nm/N0-1)e-r*(t-t0)(Nm=200000(万),N0=101654(万)(1982人口)由预测公式预测199
6、1-1998年的人口数量可得,1998年的由Logistic模型预测出的人口数于实际人口数相差最小,而其他年份的真实值与预测值之间有差别:Logistic模型115750731171611011856548119961111121348227122728339124099473从上图图可以看出,人口总数具有如下规律:当人口数的初始值N0Nm时,人口曲线(虚线)单调递减,而当人口数的初始值N0,它们皆趋于极限值Nm。六实验总结用模拟近似法建立微分方程来研究实际问题时必须对求得的解进行检验,看其是否与实际情况相符或基本相符。相符性越好则模拟得越好,否则就得找出不相符的主要原因,对模型进行修改。 Malthus模型与Logistic模型虽然都是为了研究种群数量的增长情况而建立的,但它们也可用来研究其他实际问题,只要这些实际问题的数学模型有相同的微分方程即可。 学生签名: 年 月 日七教师评语及成绩教师签名: 年 月 日6
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1