数学建模人口增长模型Word文档格式.doc
- 文档编号:13156736
- 上传时间:2022-10-07
- 格式:DOC
- 页数:7
- 大小:132KB
数学建模人口增长模型Word文档格式.doc
《数学建模人口增长模型Word文档格式.doc》由会员分享,可在线阅读,更多相关《数学建模人口增长模型Word文档格式.doc(7页珍藏版)》请在冰豆网上搜索。
1830
1840
1850
1860
人口
7.2
13.8
17.2
17.6
24.7
33.6
36.2
1870
1880
1890
1900
1910
1920
1930
48.6
58.1
73.3
89.8
105.6
125.9
149.1
1940
1950
1960
1970
1980
1990
2000
172.2
189.8
230.5
246.7
262.1
271.2
280.3
符号说明
时刻的人口数量
初始时刻的人口数量
人口增长率
环境所能容纳的最大人口数量,即
问题分析
首先,我们运用软件[1]编程(见附件1),绘制出1800年到2000年的人口数据图,如图1。
图11800年到2000年的人口数据图
从图1我们可以看出1800年到2000年的人口数是呈现增长的趋势的,而且类似二次函数增长。
所以我们可以建立了一个二次函数模型,并用最小二乘法对已有数据进行拟合得到模型的具体参数。
于是我们假设人口增长率是人口数的线性减函数,即随着人口数的增加,人口的增长速度会慢慢下降,从而我们可以建立一个阻滞增长模型。
模型建立
模型一:
二次函数模型
我们假设该地区时刻的人口数量的人口数量是时间的二次函数,即:
我们可以根据最小二乘法,利用已有数据拟合得到具体参数。
即,要求、和,使得以下函数达到最小值:
其中是时刻该地区的人口数,即有:
令,可以得到三个关于、和的一次方程,从而可解得、和。
我们用编程(见附件2),解得0.006018,,,即:
从而我们可以预测2010年的人口数为百万。
图2二次函数模型的拟合效果图
图2是所得到的二次函数模型和原数据点的拟合效果图。
从图2可以看出拟合的效果在1950年之前还可以,但是对后期的数据拟合的不好。
模型二:
阻滞增长模型
我们假设人口增长率是人口数的线性减函数,即随着人口数的增加,人口增长速度会慢慢下降:
人口数量最终会达到饱和,且趋于一个常数,当时,增长率为0:
由上面的关系式可得出:
把上式代进指数增长模型的方程中,并利用初始条件,可以得到:
解得:
我们可以利用已有数据拟合求解得(程序见附件4):
-0.027958。
可以预测2010年的人口数为百万。
图4阻滞增长模型的拟合效果图
图4是阻滞增长模型的拟合效果图。
从图4我们可以看出我们的模型对该地区的人口数据拟合得很好。
可以看出阻滞增长模型更客观地反映人口的增长规律,基本上都在拟合曲线上,拟合效果好,特别是后期的数据非常的吻合,所以次模型对未来的人口数预测是很适合的,结果更准确,对未来的预测比指数增长模型更为优越。
参考文献
[1]刘卫国,陈昭平,张颖.MATLAB程序设计与应用[M],北京:
高等教育出版社,2002年。
[2]姜启源,谢金星,叶俊.数学建模(第三版)[M],北京:
高等教育出版社,2004年。
附录
附件1:
1800年到2000年的人口数据图
x=1800:
10:
2000;
y=[7.213.817.217.624.733.636.248.658.173.389.8105.6125.9149.1172.2189.8230.5246.7262.1271.2280.3];
figure;
plot(x,y,'
r*'
);
附件2:
线性增长模型的拟合代码
%画点,红色
holdon;
%使得以下图形画在同一个窗口
p=polyfit(x,y,2)%多项式拟合,返回系数p
xn=1800:
5:
2010;
%定义新的横坐标
yn=polyval(p,xn);
%估计多项式p的函数值
plot(xn,yn)%把(x,yn)定义的数据点依次连起来
%给图形加上图例
xlabel('
年份'
ylabel('
人口数'
legend('
原始数据'
'
拟合函数'
2);
boxon;
gridon;
x1=2010;
y1=polyval(p,x1)%估计多项式p在未知点的函数值
附件3:
阻滞增长模型的拟合代码
clc;
%清屏幕
clear;
%清除以前的变量
%数据点(t,y)
t=1800:
plot(t,y,'
b*'
%定义需要拟合的函数类型myfun(a,t),a是参数列表,t是变量
myfun=@(a,t)[a
(1)./(1+(a
(1)./7.2-1)*exp(a
(2)*(t-1800)))];
a0=[500,1];
%初始值
%非线性拟合.最重要的函数,第1个参数是以上定义的函数名,第2个参数是初值,第3、4个参数是已知数据点
a=lsqcurvefit(myfun,a0,t,y);
disp(['
a='
num2str(a)]);
%显示得到的参数
%画出拟合得到的函数的图形
ti=1800:
yi=myfun(a,ti);
plot(ti,yi,'
r'
tn=2010;
%预测在未知点的函数值
yn=myfun(a,tn);
yn='
num2str(yn)]);
7
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 人口增长 模型