离散模型
1、 分析问题:
离散模型主要是应用于预测经济发展的趋势、人口增长的走势、银行存贷款的额度、生物繁衍、疾病
传播等模型的问题。
2、 模型假设:
离散模型的假设一般采用 Xn 、Yn 的形式,从而建立一系列不连续却相互关联的点集,由相应的 n 值
及点的间隔构造的函数为下面模型的建立提供了基础。
3、 模型建立:
离散模型的基本形式:Xn+1 = f ( Xn
, Xn-1
, t ),即该函数由当前值 Xn+1 ,先前值 Xn ,Xn-1 ……
及 变 量 t 构 成 , 它 通 常 被 称 为 差 分 方 程 。 一 阶 线 性 常 系 数 的 差 分 方 程 表 示 为 : Xn+1=aXn +b, 或
Xn=
na
0x +
a
1
n b a
(
1)
。除此之外还有二阶和高阶差分方程,可根据具体的题目需要建立相应的模
型。当然,大多数数学模型是很难一次性就建立完成的,尤其是像离散模型往往涉及大量数据的采集和归
纳问题,由此可能要建立一系列的差分方程构成方程组,才能实现模型的建立。
4、 模型求解:
求解离散模型主要就是求解差分方程,即根据 n 值及初始变量 0x ,来求出 Xn 的值。求解差分方程
可以用线性函数的思想,将离散的点集抽象成连续性的模型来求解。求解差分方程时一般会涉及多个变量,
例
1
A
B
1n
1n
n
b
A B
A
B
a
n
n
n
;
;
比较直观的解法就是根据初始变量 a,b,A0,B0 及 n 值逐次代入方程组中求得 An,Bn 的值,这种方法计
算小范围数据时比较容易,一旦涉及大量数据计算过程将非常繁琐。
再一种计算方法可采用变量代换的方法使方程中只留一个变量,如前面的问题经变量代换后可得
A
2
n
a
A
1 (1
n
)
ab
A
n
0
这个方程由已知的 A0,A1 等通过迭代即可求出 An 的值。
除了上述方法外,涉及多个变量的差分方程还可以转化成矩阵来表示,仍然是上面的模型,用矩阵形
式可表示为:
A
B
n
1
n
1
1
a
b
1
A
B
n
n
继而可以推出:
A
B
n
n
1
a
n
b
1
A
B
0
0
经转换后的矩阵模型,可以借用 MATLAB 强大的计算功能求解,很容易得到 An ,Bn 的值。
下面就离散模型的问题举出一道例题。
例:
拥有 10000 人的 A 军与拥有 5000 人的B军展开一场战斗,A 军的杀伤力 a=0.1 ,B军的杀伤力b=0.15,
做出模型来预测战斗结果。
解:
依问题可简化模型为:
A A B A
1
n
b
n
n
n
B
0.15
n
2
B B A B A
0.1
1
n
a
n
n
n
n
将 10000 人划作一个作战单位,所以A0=10,B0=5,通过上述模型可预测下面的结果(精确到小
数2位):
n(次)
An
Bn
0
10
5
1
9.25
4.00
2
8.65
3.08
3
8.19
2.21
4
7.86
1.39
5
7.65
0.61
6
7.55
-0.16
算到 n=6 就不用继续往下算了,因为 B 军已出现负值,超出了定义范围,模型已失效。从表中也可以
看出,最后 A 军尚有 7550 名士兵。
将以上的模型变换成二阶差分方程再来考虑它的数值解,以上差分方程可合并为:
0
A
2
n
2
2
A
1
n
A
A
)
(1
ab
1
n
n
A
0
0.985
nA
nA
n
X
2
,
2
n
A
2
n
nA
X
n
,其中和 X 是要确定的数,则
1
1
n
X
。
即
令
所以原式可变为 nX ( 2 2
X
X
0.985
)=0,解得 X 1=1.1225, X 2=0.8775。一般而言,此两
根的线性组合即为所求:
(0.8775)
n
n
(1.225)
nA
A
10
A
1.225
0.8775
0
1
由初值
可求得=1.94,=8.06,所以最终表达式为:
9.25
n
1.94(1.225)
A A
(
b
nA
B
nB = 1.58(1.225)
)
1
而
n
n
n
n
8.06(0.8775)
,代入后可得:
n
6.58(0.8775)
n
尽管从数学的角度 n 可以取到无穷,但考虑实际情况,对这个模型而言,n 的有意义的取值范围只是
3
[0,5]。
还可以用矩阵的方法解这个问题,即写成:
A
B
n
1
1
0.1
0.15
1
A
B
n
4