A First Course in Mathematical Modeling (Third Edition) Frank R. Giordano, Maurice D. Weir, William P. Fox China Machine Press
数学建模(原书第3版) 叶其孝 姜启源 等译 机械工业出版社
第1章 对变化进行建模
引言
为了更好地了解世界,人们常常用数学来描述某种特定现象.这种数学模型是现实世界现象的理想化,但永远不会是完全精确的表示.尽管任何模型都有其局限性,但是好的模型能够提供有价值的结果和结论.在本章中我们将重点介绍对变化进行建模. 简化 比例性
多数模型简化了现实的情况.一般情况下,模型只能近似地表示实际的行为.一种非常强有力的简化关系就是比例性.
定义 两个变量y和x是(互成)比例的,如果y?kx,我们记为y?x.从几何上看,y关于x的图形位于通过原点的一条直线上.
例1 测试比例性
做一个测量弹簧的伸长作为置于弹簧末端的质量的函数的实验,表1-1为该实验收集到的数据
表1-1 弹簧—质量系统
质50 100 150 200 250 300 350 400 450 500 550 量 伸1.000 1.875 2.750 3.250 4.375 4.875 5.675 6.500 7.250 8.000 8.750 长 弹簧的伸长对于置于弹簧末端的质量的散点图展现了它近似是过原点的一条直线.
图1-1 来自弹簧—质量系统的数据
看来该数据遵从比例性法则,伸长e与质量m成比例,或者说e?m。该直线看似通过原点。在本例中,假设这两种数据成比例看来是合理的,我们选位于
直线上的两点(200,3.25)和(300,4.875)来估计比例系数k(直线斜率):
k?4.875?3.25300?200?0.01625
因此比例系数约为0.0163,于是可以建立以下估算模型:
e?0.0163m
然后把表示该模型的直线图形重叠画到散点图上,以考察模型对这些数据的拟合效果。从图中可以看出这个简化的比例模型是合理的。
图1-2来自弹簧—质量系统的数据和比例性模型直线
对变化进行建模
对变化进行建模的一个非常有用的范例就是:
未来值=现在值+变化
人们往往希望从现在知道的东西加上精心观测到的变化来预测未来。在这种情形中,可以先按照公式:
变化=未来值-现在值
来研究变化。
1.1 用差分方程对变化进行建模
定义 数列A??a0,a1,?,an??的一阶差分是
?a0?a1?a0?a1?a2?a1??an?an?1?an;
例1 储蓄存单
考虑一开始价值为1000美元的储蓄存单在月利率为1%的条件下的累积价值。下面的数列表示该储蓄存单逐月的价值:
A??1000,1010,1020.10,1030.30,??
其一阶差分为: ?a0?a1?a0?1010?1000?10
?a1?a2?a1?1020.10?1010?10.10
注意,一阶差分表示在一个时间周期里数列的变化,在储蓄存单的例子中即是所得的利息。
如果n是月数而an是n个月后储蓄存单的价值,那么每个月价值的变化(或者利息增长)由第n个差分
?an?an?1?an?0.01an
来表示。即有如下的差分方程
an?1?an?0.01an?1.01an
我们还知道一开始的存款(初值),于是就得出了以下动力系统模型
an?1?1.01an,a0?1000n?0,1,2,?
其中,an是n个月后储蓄存单的价值。由于n表示非负整数,故上面的方程可以表示为无穷多个代数方程,称为动力系统。动力系统能够描述从一个周期到下一个周期的变化。知道了该序列中的某一项,就可以通过差分方程算出紧接着它的下一项,但是不能直接算出任意特定项的值(例如,100个周期后的储蓄值a100)。 修改一下这个例子,如果要从账户中每月提款50美元,那么一个周期里存款的变化就应该是该周期里挣的利息减去月提款:
?an?an?1?an?0.01an?50
在大多数例子中,用数学方式描述变化不会像这里所说的那样精确,常常需要画出变化,观察模式,然后用数学术语来描述变化。即,试图寻求
变化??an?某个函数f
变化可能是数据序列中前一项的函数(就象没有月提款的情形),或者还包含某些外来项(诸如上面提到的题款数或涉及周期n的一个表达式)。即
变化??an?f(该序列中的项,外来项)
例2 抵押贷款买房
六年前,你的父母筹措月利率为1%、每月还款为880.87美元的20年贷款资金80000美元买了房子。他们已经还款72个月,同时想知道他们还欠多少抵押贷款,他们正在考虑用他们得到的一笔遗产来付清欠款。或者他们可以重新根
据偿还期长短,以不同利率偿还抵押贷款。每个周期欠款额因要付的利息而增加,又因每月还款而减少:
?bn?bn?1?bn?0.01bn?880.87
求解bn?1并加进初始条件就给出了下面的动力系统模型
bn?1?bn??bn?1.01bn?880.87b0?80000
其中bn表示第n个月后的欠款.因此:
b1?b0??b0?80000?0.01(80000)?880.87?79919.13b2?b1??b1?79919.13?0.01(79919.13)?880.87?79837.45
就给出了序列
B?(80000,79919.13,79837.45,?)
该序列的前13项数据如表1-2所示
表1-2 欠款额度表
月0 1 2 3 4 5 6 7 8 9 n bn 80000.00 79919.13 79837.45 79754.96 79671.64 79587.48 79502.49 79416.64 79329.94 79242.37 也可以用图1-3表示
图1-3 逐月欠款额
我们来总结一下例1和例2中介绍的重要思路.
定义 一个动力系统就是序列各项之间的一种关系.动力系统的数值解就是满足该动力系统的一张数据表.
习题1
写出能对所述情景的变化确切建模的动力系统的公式
1.目前你在储蓄账户上有月付利息为0.5%的存款5000美元,你每个月再存入200美元.
2.你的信用卡上有月付利息1.5%的欠款500美元.你每月偿还50美元并且不再有新的欠款.
3.你的父母正在考虑一项贷款期限30年、每月要支付0.5%利息的100 000美元抵押贷款,试建立一个能够在360次付费后还清借款的用月供p表示的模型。提示:如果an表示n个月后的欠款,那么a0和a360表示什么呢?
4.你的祖父母有一份养老金(年金)。每月把上一个月结余的1%作为利息自动存入养老金。你的祖父母每月初要取出1000美元作为生活费用。目前他们的养老金为50 000美元。试用动力系统对养老金建模。养老金会用光吗?什么时候用光?提示:当养老金用光时,an的值为多少?
研究课题
你希望买一辆新车而且选择范围只限于Saturn、Cavalier和Hyundai三家公司。每家公司都向你提供其最优惠的交易条件:
Saturn 车价13 990美元 预付定金1000美元 月利率3.5%直到60个月 Cavalier车价13 550美元 预付定金1500美元 月利率4.5%直到60个月 Hyundai 车价12 400美元 预付定金500美元 月利率6.5%直到48个月 你每个月为买车最多能支付475美元。利用动力系统模型决定你应该买哪家公司的车。
1.2 用差分方程近似描述变化
在大多数例子中,数学地描述变化不会像前节给出的储蓄存单和抵押贷款案例中那样有确切的步骤。一般情况下,我们必须画出变化,观察模式,然后再用数学术语来近似描述变化:
变化??an?某个函数f
例1 酵母培养物的增长
图1-4中的数据是从测量酵母培养物增长的实验收集来的。图形显示可以假设种群量的变化和当前种群量的大小成比例。即,?pn?pn?1?pn?kpn,其中pn表示n小时后种群生物量的多少,而k是一个正常数。k的值依赖于时间的测量。
表1-3 酵母培养物随时间变化的数据
时间n(以小时计) 酵母生物量pn 生物量的变化?pn?pn?1?pn 0 9.6 8.7 1 18.3 10.7 2 29.0 18.2 3 47.2 23.9 4 71.1 48.0 5 119.1 55.5 6 174.6 82.7 7 257.3