matlab在模型预测中的应用实验报告,MATLAB综合性实验报告

41528d3028836879cd698677c3999917.gifMATLAB综合性实验报告

本科学生综合性实验报告 一、实验综述 1、实验目的及要求 学习由实际问题去建立数学模型的全过程;训练综合应用数学模型 、微分方程、函数拟合和预测的知识分析和解决实际问题;应用matlab 软件求解微分方程、作图、函数拟合等功能,设计 matlab程序来求解其中的数学模型;提高论文写作、文字处理、排版等方面的能力。 通过完成该实验,学习和实践由简单到复杂,逐步求精的建模思想,学习如何建立反映人口增长规律的数学模型,学习在求解最小二乘拟合问题不收敛时,如何调整初值,变换函数和数据使优化迭代过程收敛。 2、实验仪器、设备或软件 电脑 MATLAB 二、实验过程(实验步骤、记录、数据、分析) 内容 1.数学建模的基本方法; 2.查阅资料理解 Malthus 人口指数增长模型和 Logistic 模型; 3.Matlab软件中曲线拟合函数的异常情况处理; 4.误差分析与模型检验。 步骤 1.分析理解 Malthus 人口指数增长模型和 Logistic 模型 ; 2.利用 Matlab 软件求解上述两个模型; 3.设计数据拟合方法; 4.编写M文件,保存文件并运行观察运行结果 ( 数值或图形 ) ,并进行误差分析; 5.利用至少两种模型预测人口数量; 6.分析、整理和总结,写出实验报告。 要求与任务 从 1790 — 1990 年间美国每隔 10 年的人口记录如下表所示: 用以上数据检验马尔萨斯 ( Malthus)人口指数增长模型,根据检验结果进一步讨论马尔萨斯人口模型的改进,并利用至少两种模型来预测美国2010 年的人口数量。 提示 1 : Malthus 模型的基本假设是:人口的增长率为常数,记为 r 。记时刻 t的人口为 x ( t )(即 x ( t )为模型的状态变量),且初始时刻的人口为 ,于是得到如下微分方程: 提示 2 :阻滞增长模型(或 Logistic 模型) 由于资源、环境等因素对人口增长的阻滞作用,人口增长到一定数量后,增长率会下降,假设 人口的增长率为x 的减函数,如设 r(x)=r(1-x/xm) ,其中 r 为固有增长率 (x 很小时 ) ,xm为人口容量(资源、环境能容纳的最大数量), 于是得到如下微分方程: 解答 指数增长模型(马尔萨斯人口模型) [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 即 Xt=3.9ⅇrt (2) 表明:时,(>0). [4] 模型的参数估计: 对非线性模型Xt=3.9ⅇrt回归分析 建立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 年的人口数量为461.7283百万人。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值