斐波拉契数列(Fibonacci sequence)
Fk+2=Fk+1+Fk , k=0,1,2...
0,1,1,2,3,5,8...
设 uk=[Fk+1Fk] ,则 uk+1 和 uk 的关系是
uk+1=[Fk+2Fk+1]=[1110][Fk+1Fk]=Auk
所以可以得出
uk=Auk−1=A2uk−2=Aku0
可以求出矩阵 A 的特征值和对应的特征向量
λ1=21+5 λ2=21−5
x1=[21+51]=[λ11] x1=[21−51]=[λ21]
因此,矩阵 A 可以进行对角化分解
A=SΛS−1=[λ11λ21][λ100λ2][λ11λ21]−1
所以
uk=Aku0=SΛkS−1u0
从而得出
uk=λ1−λ2λ1k[λ11]−λ1−λ2λ2k[λ21]=[Fk+1Fk]
Fk=λ1−λ21(λ1k−λ2k)=51(21+5)k−(21−5)k for k≥0
In general
对于 n 阶,常系数,线性齐次差分方程
Gk+n=a1Gk+n−1+a2Gk+n−2+⋅⋅⋅+anGk
初始条件是 Gn−1,⋅⋅⋅,G1,G0
对于非齐次的差分方程,比如
Fk+2=Fk+1+Fk+2
可以通过“平移”消除掉常数项
设 Fk 有一个特解是常数 c 即 Fk=c ,代入上式 c=c+c+2 解得 c=−2
所以就可以设 Fk=Gk−2 ,原方程就转换为
Gk+2=Gk+1+Gk
就转换为了齐次的差分方程
- 设
uk=Gk+n−1Gk+n−2⋮Gk
uk+1=Gk+nGk+n−1⋮Gk+1=a110⋮0a201⋮0⋯⋯⋯⋱0an−10001an0000Gk+n−1Gk+n−2⋮Gk=An×nuk
- 如果矩阵 A 可以对角化分解,则进行对角化分解
A=SΛS−1=[x1x2⋯xn]λ1λ2⋱λn[x1x2⋯xn]−1
其中 x 为 A 的特征向量,λ 为对应的特征值
-
uk=Aku0=SΛkS−1u0=SΛkc
展开写
uk=[x1x2⋯xn]λ1kλ2k⋱λnkc1c2⋮cn
其中 c=S−1u0 ,可以理解为用 A 的特征向量 x1,x2,⋯xn 的线性组合表示出向量 u0 时的系数
u0=Gn−1Gn−2⋮G0=c1x1+c2x2+⋯+cnxn=[x1x2⋯xn]c1c2⋮cn
- 最后就可以写出 Gk 的表达式,是 Uk 的最后一项
差分方程稳定性
稳定性由矩阵 A 的特征值决定,所有特征值满足:∣λi∣<1 此时是稳定的
对于实数特征值:
- 0<λ<1 单调衰减
- −1<λ<0 振荡衰减
对于复数特征值:λ=∣λ∣eiθ 其中 ∣λ∣ 为模/幅值,θ 为辐角
- ∣λ∣<1 衰减,θ 为角频率(单位是rad/step),2πθ 为频率(单位是cycles/step),对于 step 为时间间隔时,Δtθ 为角频率,2πΔtθ 为频率
References