综合实验二:人口增长模型及其数量预测
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
92 106.5 123.2 131.7 150.7 179.3 204 226.5 251.4];
plot(t,x,'*',t,x);
a0=[0.001,1];
a=curvefit('fun1',a0,t,x)
ti=1790:5:2020;
xi=fun1(a,ti);
hold on
plot(ti,xi);
t1=2010;
x1=fun1(a,t1)
hold off
在MATLAB命令窗口运行该程序,输出结果a = 0.0148 -23.8311;x1 =358.4822
因此,参数a=0.0148, b=-23.8307,拟合函数在2010处的函数值f(2010)=358.4822。但在求解时,出现提示“矩阵接近奇异或尺度不好,结果可能不准确”。通过作图,我们来看看拟合的误差如何,见图2。从图中可看出,拟合曲线与原数据还是比较吻合,因此,预测美国在2010年的人口数为358.4822百万。
1840
1850
人口(×106)
3.9
5.3
7.2
9.6
12.9
17.1
23.2
年 份
1860
1870
1880
1890
1900
1910
1920
人口(×106)
31.4
38.6
50.2
62.9
76.0
92.0
106.5
年 份
1930
1940
1950
1960
1970
1980
人口(×106)
123.2
131.7
建ቤተ መጻሕፍቲ ባይዱ方法1:
由图1可以发现美国人口的变化规律曲线近似为一条指数函数曲线,因此我们假设美国的人口满足函数关系x=f(t),f(t)=ea+bt,a,b为待定常数,根据最小二乘拟合的原理,a,b是函数 的最小值点。其中xi是ti时刻美国的人口数。利用MATLAB软件中的曲线拟合程序“curvefit”,编制的程序如下:
150.7
179.3
204.0
226.5
实验分析:
首先在平面上绘出已知数据的分布图,通过直观观察,猜测人口随时间的变化规律,再用函数拟合的方法确定其中的未知参数,从而估计出2010年的美国人口。利用MATLAB软件作出美国人口统计数据的连线图如图1。
图1美国人口统计数据连线图图2建模方法1的拟合效果图
提示1:Malthus模型的基本假设是:人口的增长率为常数,记为r。记时刻t的人口为x(t),(即x(t)为模型的状态变量)且初始时刻的人口为x0,于是得到如下微分方程:
提示 2 :阻滞增长模型(或 Logistic 模型) 由于 资源、环境等因素对人口增长的阻滞作用,人口增长到一定数量后,增长率会下降,假设 人口的增长率为 x 的减函数,如设 r(x)=r(1-x/ ) ,其中 r 为固有增长率 (x 很小时 ) , 为人口容量(资源、环境能容纳的最大数量),于是得到如下微分方程:
四、实验要求与任务
从 1790 — 1980 年间美国每隔 10 年的人口记录如表综 2.1 所示:
表综 2.1
年 份
1790
1800
1810
1820
1830
1840
1850
人口 ( × 10 6 )
3.9
5.3
7.2
9.6
12.9
17.1
23.2
年 份
1860
1870
1880
1890
1900
1910
2010年美国人口预测报告
97自动化乔宇
实验目的:
1.掌握利用MATLAB软件解决拟合问题的方法
2.学会用拟合方法解决实际问题
实验内容:
给出美国人口从1790年到1990年间的人口如表1(每10年为一个间隔),请估计出美国2010年的人口。
表1美国人口统计数据
年 份
1790
1800
1810
1820
1830
通过完成该实验,学习和实践由简单到复杂,逐步求精的建模思想,学习如何建立反映人口增长规律的数学模型,学习在求解最小二乘拟合问题不收敛时,如何调整初值,变换函数和数据使优化迭代过程收敛 。
二、实验内容
1.数学建模的基本方法;
2.查阅资料理解Malthus人口指数增长模型和Logistic模型;
3.Matlab软件中曲线拟合函数的异常情况处理;
建模方法2:
上述模型对过去的统计数据吻合得较好,但也存在问题,即人口是呈指数规律无止境地增长,此时人口的自然增长率随人口的增长而增长,这不可能。一般说来,当人口较少时增长得越来越快,即增长率在变大;人口增长到一定数量以后,增长就会慢下来,即增长率变小这是因为,自然资源、环境条件等因素不允许人口无限制地增长,它们对人口的增长起着阻滞作用,而且随着人口的增加,阻滞作用越来越大。而且人口最终会饱和,趋于某一个常数x,我们假设人口的静增长率为r(1-x(t)/x),即人口的静增长率随着人口的增长而不断减小,当t时,静增长率趋于零。
综合实验一:人口增长模型及其数量预测
一、实验目的及意义
1.学习由实际问题去建立数学模型的全过程;
2.训练综合应用数学模型、微分方程、函数拟合和预测的知识分析和解决实际问题;
3.应用matlab软件求解微分方程、作图、函数拟合等功能,设计matlab程序来求解其中的数学模型;
4.提高论文写作、文字处理、排版等方面的能力;
指数函数的函数M——文件
functionf=fun1(a,t)
f=exp(a(1)*x+a(2));
用最小二乘拟合求上述函数中待定常数,以及检验拟合效果的图形绘制程序
t=1790:10:1990;
x=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76...
4.误差分析与模型检验。
三、实验步骤
1.分析理解Malthus人口指数增长模型和Logistic模型;
2.利用Matlab软件求解上述两个模型;
3.设计数据拟合方法;
4.编写M文件,保存文件并运行观察运行结果(数值或图形),并进行误差分析;
5.利用至少两种模型预测人口数量;
6.分析、整理和总结,写出实验报告。
1920
人口 ( × 10 6 )
31.4
38.6
50.2
62.9
76.0
92.0
106.5
年 份
1930
1940
1950
1960
1970
1980
人口 ( × 10 6 )
123.2
131.7
150.7
179.3
204.0
226.5
用以上数据检验马尔萨斯 ( Malthus) 人口指数增长模型,根据检验结果进一步讨论马尔萨斯人口模型的改进,并利用至少两种模型来预测美国 2010 年的人口数量。
plot(t,x,'*',t,x);
a0=[0.001,1];
a=curvefit('fun1',a0,t,x)
ti=1790:5:2020;
xi=fun1(a,ti);
hold on
plot(ti,xi);
t1=2010;
x1=fun1(a,t1)
hold off
在MATLAB命令窗口运行该程序,输出结果a = 0.0148 -23.8311;x1 =358.4822
因此,参数a=0.0148, b=-23.8307,拟合函数在2010处的函数值f(2010)=358.4822。但在求解时,出现提示“矩阵接近奇异或尺度不好,结果可能不准确”。通过作图,我们来看看拟合的误差如何,见图2。从图中可看出,拟合曲线与原数据还是比较吻合,因此,预测美国在2010年的人口数为358.4822百万。
1840
1850
人口(×106)
3.9
5.3
7.2
9.6
12.9
17.1
23.2
年 份
1860
1870
1880
1890
1900
1910
1920
人口(×106)
31.4
38.6
50.2
62.9
76.0
92.0
106.5
年 份
1930
1940
1950
1960
1970
1980
人口(×106)
123.2
131.7
建ቤተ መጻሕፍቲ ባይዱ方法1:
由图1可以发现美国人口的变化规律曲线近似为一条指数函数曲线,因此我们假设美国的人口满足函数关系x=f(t),f(t)=ea+bt,a,b为待定常数,根据最小二乘拟合的原理,a,b是函数 的最小值点。其中xi是ti时刻美国的人口数。利用MATLAB软件中的曲线拟合程序“curvefit”,编制的程序如下:
150.7
179.3
204.0
226.5
实验分析:
首先在平面上绘出已知数据的分布图,通过直观观察,猜测人口随时间的变化规律,再用函数拟合的方法确定其中的未知参数,从而估计出2010年的美国人口。利用MATLAB软件作出美国人口统计数据的连线图如图1。
图1美国人口统计数据连线图图2建模方法1的拟合效果图
提示1:Malthus模型的基本假设是:人口的增长率为常数,记为r。记时刻t的人口为x(t),(即x(t)为模型的状态变量)且初始时刻的人口为x0,于是得到如下微分方程:
提示 2 :阻滞增长模型(或 Logistic 模型) 由于 资源、环境等因素对人口增长的阻滞作用,人口增长到一定数量后,增长率会下降,假设 人口的增长率为 x 的减函数,如设 r(x)=r(1-x/ ) ,其中 r 为固有增长率 (x 很小时 ) , 为人口容量(资源、环境能容纳的最大数量),于是得到如下微分方程:
四、实验要求与任务
从 1790 — 1980 年间美国每隔 10 年的人口记录如表综 2.1 所示:
表综 2.1
年 份
1790
1800
1810
1820
1830
1840
1850
人口 ( × 10 6 )
3.9
5.3
7.2
9.6
12.9
17.1
23.2
年 份
1860
1870
1880
1890
1900
1910
2010年美国人口预测报告
97自动化乔宇
实验目的:
1.掌握利用MATLAB软件解决拟合问题的方法
2.学会用拟合方法解决实际问题
实验内容:
给出美国人口从1790年到1990年间的人口如表1(每10年为一个间隔),请估计出美国2010年的人口。
表1美国人口统计数据
年 份
1790
1800
1810
1820
1830
通过完成该实验,学习和实践由简单到复杂,逐步求精的建模思想,学习如何建立反映人口增长规律的数学模型,学习在求解最小二乘拟合问题不收敛时,如何调整初值,变换函数和数据使优化迭代过程收敛 。
二、实验内容
1.数学建模的基本方法;
2.查阅资料理解Malthus人口指数增长模型和Logistic模型;
3.Matlab软件中曲线拟合函数的异常情况处理;
建模方法2:
上述模型对过去的统计数据吻合得较好,但也存在问题,即人口是呈指数规律无止境地增长,此时人口的自然增长率随人口的增长而增长,这不可能。一般说来,当人口较少时增长得越来越快,即增长率在变大;人口增长到一定数量以后,增长就会慢下来,即增长率变小这是因为,自然资源、环境条件等因素不允许人口无限制地增长,它们对人口的增长起着阻滞作用,而且随着人口的增加,阻滞作用越来越大。而且人口最终会饱和,趋于某一个常数x,我们假设人口的静增长率为r(1-x(t)/x),即人口的静增长率随着人口的增长而不断减小,当t时,静增长率趋于零。
综合实验一:人口增长模型及其数量预测
一、实验目的及意义
1.学习由实际问题去建立数学模型的全过程;
2.训练综合应用数学模型、微分方程、函数拟合和预测的知识分析和解决实际问题;
3.应用matlab软件求解微分方程、作图、函数拟合等功能,设计matlab程序来求解其中的数学模型;
4.提高论文写作、文字处理、排版等方面的能力;
指数函数的函数M——文件
functionf=fun1(a,t)
f=exp(a(1)*x+a(2));
用最小二乘拟合求上述函数中待定常数,以及检验拟合效果的图形绘制程序
t=1790:10:1990;
x=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76...
4.误差分析与模型检验。
三、实验步骤
1.分析理解Malthus人口指数增长模型和Logistic模型;
2.利用Matlab软件求解上述两个模型;
3.设计数据拟合方法;
4.编写M文件,保存文件并运行观察运行结果(数值或图形),并进行误差分析;
5.利用至少两种模型预测人口数量;
6.分析、整理和总结,写出实验报告。
1920
人口 ( × 10 6 )
31.4
38.6
50.2
62.9
76.0
92.0
106.5
年 份
1930
1940
1950
1960
1970
1980
人口 ( × 10 6 )
123.2
131.7
150.7
179.3
204.0
226.5
用以上数据检验马尔萨斯 ( Malthus) 人口指数增长模型,根据检验结果进一步讨论马尔萨斯人口模型的改进,并利用至少两种模型来预测美国 2010 年的人口数量。