13. 差分方程模型
定义
设函数
一阶差分的差分称二阶差分
类似有三阶差分、四阶差分……,记
常系数线性齐次差分方程的解法
对于
若
例子
求斐波那契数列
有特征方程
常系数线性非齐次差分方程的解法
若
求特解一般用常数变易法,特殊情况也可采用待定系数法。
典型模型
Leslie 模型
考虑对人口进行分组,为简单起见只考虑女性人口,将女性人口按年龄划分称
记时段
第一年龄组种群数量是时段
离散阻滞增长模型
又称离散 Logistic 模型。
染色体遗传模型
如果某遗传特征由两个基因 A 和 a 控制,就有三种基因对 AA, Aa, aa。不同基因对结合,后代从父体、母体内分别取得一个基因构成新的基因对。
如父体为 AA,母体为 Aa,则后代从父体必获得 A,从母体获得 A 或 a 的概率分别为 1/2,构成新的基因对 AA 或 Aa 的概率分别为 1/2。
父体-母体/后代 | AA*AA | AA*Aa | AA*aa | Aa*Aa | Aa*aa | aa*aa |
---|---|---|---|---|---|---|
AA | 1 | 1/2 | 0 | 1/4 | 0 | 0 |
Aa | 0 | 1/2 | 1 | 1/2 | 1/2 | 0 |
aa | 0 | 0 | 0 | 1/4 | 1/2 | 1 |
令
选用 AA 型植物与其他植物结合。由于 AA 与 AA 结合必为 AA,AA 与 Aa
结合为 AA 的可能性为 1/2,AA 与 aa 结合不可能为 AA,得
记
若选用相同基因型植物相结合,则
Python 代码
解差分方程
对常系数线性齐次差分方程的解法的例子求解,代码如下:
1 | #! /usr/bin/env python |
输出如下:
给出通解和部分数值解。
Leslie 模型
养殖场养殖一类动物最多三年,按一岁、两岁、三岁划分为 3 个年龄组。一岁不繁殖,两岁平均一年繁殖 4 个后代,三岁平均一年繁殖 3 个后代。一岁、两岁的成活率分别为 0.5、0.25。假设开始时各年龄组动物为 1000 头,求未来动物的数量。
由题意,出生率为
1 | #! /usr/bin/env python |
输出如下:
1 | the 0th year: 1y: 1000, 2y: 1000, 3y: 1000 |
染色体遗传模型
对例子中的两中情况求解,代码如下:
1 | #! /usr/bin/env python |
输出如下:
1 | ----- M1 ----- |