- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本科学生综合性实验报告
一、实验综述
1、实验目的及要求
学习由实际问题去建立数学模型的全过程;训练综合应用数学模型 、微分方程、函数拟合和预测的知识分析和解决实际问题;应用matlab 软件求解微分方程、作图、函数拟合等功能,设计 matlab程序来求解其中的数学模型;提高论文写作、文字处理、排版等方面的能力。
通过完成该实验,学习和实践由简单到复杂,逐步求精的建模思想,学习如何建立反映人口增长规律的数学模型,学习在求解最小二乘拟合问题不收敛时,如何调整初值,变换函数和数据使优化迭代过程收敛。
内容1.数学建模的基本方法;
2查阅资料理解 Malthus 人口指数增长模型和 Logistic 模型;
3Matlab软件中曲线拟合函数的异常情况处理;
4误差分析与模型检验。
步骤
1.分析理解 Malthus 人口指数增长模型和 Logistic 模型 ;
2利用 Matlab 软件求解上述两个模型;
3设计数据拟合方法;
4编写M文件,保存文件并运行观察运行结果 ( 数值或图形 ) ,并进行误差分析;
5利用至少两种模型预测人口数量;
6分析、整理和总结,写出实验报告。
要求与任务
从 1790 — 190 年间美国每隔 10 年的人口记录如表所示:用以上数据检验马尔萨斯 ( Malthus)人口指数增长模型,根据检验结果进一步讨论马尔萨斯人口模型的改进,并利用至少两种模型来预测美国2010 年的人口数量。
提示 1 : Malthus 模型的基本假设是:人口的增长率为常数,记为 r 。记时刻 t的人口为 x ( t (即 x ( t 为模型的状态变量)且初始时刻的人口为 ,于是得到如下微分方程:
提示 2 :阻滞增长模型(或 Logistic 模型) 由于资源、环境等因素对人口增长的阻滞作用,人口增长到一定数量后,增长率会下降,假设 人口的增长率为x 的减函数,如设 r(x)=r(1-x/) ,其中 r 为固有增长率 (x 很小时 ) ,为人口容量(资源、环境能容纳的最大数量), 于是得到如下微分方程:
[1] 假设:人口增长率是常数(或单位时间内人口的增长量与当时的人口成正比).
[2] 建立模型: 记时刻t=0时人口数为x0=3.9, 时刻t的人口为,由于量大,可视为连续、可微函数.t到时间内人口的增量为:
于是满足微分方程:
(1)
[3] 模型求解: 用MATLAB求解,
dsolve(Dx=r*x,x(0)=3.9,t)
ans =
(39*exp(r*t))/10
即
(2)
表明:时,(0).
[4] 模型的参数估计:
对非线性模型回归分析
建立M文件volum.m
function xhat=volum(beta,t)
xhat=3.9*exp(beta(1)*t);
输入数据
t=0:10:200;
x=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5 251.4];
beta0=0.01;
求回归系数
[beta,r,J]=nlinfit(t,x,volum,beta0);
beta
结果
beta =
0.0217
预测及作图
[YY,delta]=nlpredci(volum,t,beta,r,J);
plot(t,x,k+,t,YY,r)
通过表中1790—1980的数据拟合得: =0.0217.
[5] 模型检验:
将x0=3.9,=0.0217 代入公式(2),求出用指数增长模型预测的1790—1990的人口数,
t=0:10:200;
x=3.9*exp(0.0217.*t)
x =
Columns 1 through 14
3.9000 4.8451 6.0193 7.4781 9.2904 11.5418 14.3389 17.8139 22.1309 27.4942 34.1573 42.4351 52.7190 65.4952
Columns 15 through 21
81.3676 101.0865 125.5842 156.0188 193.8290 240.8024 299.1594
从图和数据可看出,1790—1990间的预测人口数与实际人口数吻合较好。
[6] 模型应用:
现在预测美国2010 年的人口数量t=220;
x=3.9*exp(0.0217.*t)
x =
461.7283
所以,美国2010 年
文档评论(0)