数学模型实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学模型实验报告
实验内容1.
实验目的:学习使用lingo和MATLAB解决数学模型问题
实验原理:
实验环境:MATLAB7.0
实验结论:
源程序
第四章:实验目的,学会使用lingo解决数学模型中线性规划问题1.习题第一题
实验原理:
源程序:
运行结果:
Range:
结果分析:(1)求解结果中variable那一项表示的是最优解,容易看出x1,x2,x3,x4,x5取值分别为以上结果时,收益最大。即证券A,C,E分别投资2.181818百万元,7.363636百万元,0.4545455百万元,最大收益为0.2983636百万元。上面Row那一项中Slack or surplus 表示的是投资款项剩余值。Dual 表示增加一单位,投资利润增加量。
(2)range 表示变化范围:variable那个项目表示的是最优解不变,系数的允许的变化范围。Row那个项目表示的是影子价格(即在最优解下资源增加一个单位时效益的增量)。
3.习题第三题lingo算式:
源程序:
实验结果:
结果分析:最优解为:x1=3,x2=4,y1=0,y2=2,y3=0,y4=0,y5=1时,min=820.此时费用最小。在九个工作时间点的生于劳动力分别为3,6,5,0,1,2,0,0,0,个。
第五章:5.6节人口的预测和控制
实验目的:用MATLAB 模型解决数学模型中人口预测和控制问题 实验原理: 指数增长模型:
模型假设:年增长率保持不变
记今年人口为x0,k 年后人口为xk,年增长率为r,则 xk=x0(1+r)^k (1)
记t 时刻的人口为x(t),当考察一个国家或一个较大地区的人口时,是一个很大的整数,x(0)=x0,利用微积分求得 x(t)=x0e^rt (4) 表示人口随时间无限增长
组织增长模型---logistic 模型
组织增长用体现在对人口增长率的影响上,使r 随着人口数量x 的增加而下降 假定r(x)=r-sx(r,s>0)(5)
这里r 称固有增长率,表示人口很少时(理论上是0x =)的增长率。为了确定系数s 的意义,引入自然资源和环境条件所能容纳的最大人口数量m x ,称人口容量。当m x x =时人口不再增长,即增长率()0m r x =,代入(5)式的m s r x =,于是()()1m r x r x x =-,将()r x 代入方程(4),得
1m d x x rx dt x ⎛⎫=- ⎪
⎝⎭,
()00x x =
(6)
方程(6)右端的因子rx 体现人口自身的增长趋势,因子1m x x ⎛⎫
- ⎪⎝⎭则体
现了环境和资源对人口增长的阻滞作用。显然,x 越大,前一因子越大,后一因子越小,人口增长是两个因子共同作用的结果,(6)称为阻滞增长模型。 三、模型的参数估计、检验和预报
用指数增长模型或阻滞增长模型进行人口预报,先要作参数估计。除了初始人口0x 外,指数增长模型要估计r ,阻滞增长模型则要估计r 和m x 。它们可以用人口统计数据拟合得到,也可以辅之以专家的估计。
为了估计指数增长模型(2)或(3)中的参数r 和0x ,需将(3)式取对数,得
0,l n ,l n y r t a y x a x =+== (8) 如书上图:
以美国人口实际数据为例(将表3数据列为表4第1,2列),对(8)式作数据拟合,如用1790年至1900年的数据,得到r =0.2743/(10年),0x =4.1884;如用全部数据可得r =0.2022/(10年),0x =6.0450。也可以令0x =3.9(1790年实际人口),只计算r 。
用得到的r 和0x 代入(3)式,将计算结果与实际数据作比较。表4中计算人口1x 是用1790年至1900年数据拟合的结果,2x 是用全部数据拟合的结果,图3()a 和图3()b 是它们的图形表示(+号是实际数据,曲线是计算结果). 为了估计阻滞增长模型(6)或(7)中的参数r 和m x ,我们不用(7)式而将方程(6)表为
,m
dx
r dt r sx s x x =-=
(9)
(9)式左端可以从实际人口数据用数值微分算出,右端对参数,r s 是线性的。
为了简单起见,可利用()1990x 和方程(6)作如下计算:
()
()()()()200019901990199011990/m x x x x r x
x x π=+∆=+-
⎡⎤⎣⎦
(10)
得到()2000274.5x =百万,与实际数据281.4百万的误差约2.5%,可以认为该模型是相当满意的。
为了预报美国2010年的人口,应将2000年的实际数据加进去重新估计参数,可得0.249r =/(10年),433.9886m x =。然后再用模型检验中的计算方法进行预报,得到()2010306.0x =百万。据美国人口普查局2010年12月21日公布,截止到2010年4月1日,美国总人口为3.087亿,预报误差不到1%。 【实验过程】(实验步骤、记录、数据、分析) 实验步骤①
对于阻滞增长模型:
为了用数据进行线形最小二乘法的计算,故将方程(4)两边取对数得到()0ln ln *rt x t x e =,即()0ln ln x t x rt
=+,令()ln y x t =,0ln a x =,所以可得y rt a =+。
根据所提供的数据用MATLAB 函数(),,1p polyfit t x =拟合一次多项式,然后用画图函数()()''''0,,,,*exp ,plot t x t x rt +-,画出实际数据与计算结果之间的图形,看结果如何。 源程序: