斐波拉契数列中的每一项为前两项的和,取最开始两项为0、1,便可继续写出斐波拉契数列的后续项:0、1、1、2、3、5、8、13、21、34……
令斐波拉契数列中的项为
F
k
F_k
Fk,可以写出数列的递推公式为(
F
0
=
0
,
F
1
=
1
F_0=0, F_1=1
F0=0,F1=1):
F
k
+
2
=
F
k
+
1
+
F
k
(1)
F_{k+2} = F_{k+1} + F_{k} \tag{1}
Fk+2=Fk+1+Fk(1)
这是一个二阶差分的形式,为了方便处理,我们通过定义新的向量
u
k
u_k
uk将其转换为一阶差分形式:
u
k
=
[
F
k
+
1
F
k
]
(2)
u_k=\begin{bmatrix} F_{k+1} \\ F_k \end{bmatrix} \tag{2}
uk=[Fk+1Fk](2)
递推公式便可写为:
[
F
k
+
2
F
k
+
1
]
=
[
1
1
1
0
]
[
F
k
+
1
F
k
]
(3)
\begin{bmatrix} F_{k+2} \\ F_{k+1} \end{bmatrix} =\begin{bmatrix} 1 & 1 \\ 1 & 0 \end{bmatrix}\begin{bmatrix} F_{k+1} \\ F_{k} \end{bmatrix} \tag{3}
[Fk+2Fk+1]=[1110][Fk+1Fk](3)
u
k
+
1
=
[
1
1
1
0
]
u
k
(4)
u_{k+1}=\begin{bmatrix} 1 & 1 \\ 1 & 0 \end{bmatrix}u_k \tag{4}
uk+1=[1110]uk(4)
其中
u
0
=
[
1
0
]
u_0=\begin{bmatrix}1\\0\end{bmatrix}
u0=[10],令
A
=
[
1
1
1
0
]
A=\begin{bmatrix}1 & 1\\1 &0\end{bmatrix}
A=[1110],可以根据递推公式(4)写出数列的通项公式:
u
k
=
A
k
u
0
(5)
u_{k}=A^ku_0\tag{5}
uk=Aku0(5)
对于矩阵
A
A
A,通过特征多项式
∣
λ
I
−
A
∣
=
0
|\lambda I-A|=0
∣λI−A∣=0求得其特征值
λ
2
−
λ
−
1
=
0
⇒
λ
1
=
1
+
5
2
,
λ
2
=
1
−
5
2
(6)
\lambda^2-\lambda-1=0 \Rightarrow \lambda_1=\frac{1+\sqrt{5}}{2},\lambda_2=\frac{1-\sqrt{5}}{2}\tag{6}
λ2−λ−1=0⇒λ1=21+5,λ2=21−5(6)
对于特征值
λ
\lambda
λ来讲,已知下式成立:
(
A
−
λ
I
)
[
λ
1
]
=
[
1
−
λ
1
1
−
λ
]
[
λ
1
]
=
[
λ
−
λ
2
+
1
0
]
=
0
(7)
(A-\lambda I) \begin{bmatrix}\lambda\\1\end{bmatrix} =\begin{bmatrix} 1-\lambda & 1\\ 1 & -\lambda \end{bmatrix} \begin{bmatrix}\lambda\\1\end{bmatrix}= \begin{bmatrix}\lambda-\lambda^2+1\\0\end{bmatrix}=0\tag{7}
(A−λI)[λ1]=[1−λ11−λ][λ1]=[λ−λ2+10]=0(7)
所以对于各特征值
λ
\lambda
λ,对应的特征向量为
[
λ
1
]
\begin{bmatrix}\lambda\\1\end{bmatrix}
[λ1],据此可将矩阵A进行对角化:
A
=
S
Λ
S
−
1
=
[
λ
1
λ
2
1
1
]
[
λ
1
0
0
λ
2
]
[
λ
1
λ
2
1
1
]
−
1
(8)
A=S\Lambda S^{-1}=\begin{bmatrix}\lambda_1&\lambda_2\\1&1\end{bmatrix} \begin{bmatrix}\lambda_1 & 0\\0 & \lambda_2\end{bmatrix} \begin{bmatrix}\lambda_1&\lambda_2\\1&1\end{bmatrix}^{-1}\tag{8}
A=SΛS−1=[λ11λ21][λ100λ2][λ11λ21]−1(8)
根据对角矩阵幂的性质,可以得到下式:
A
k
=
S
Λ
k
S
−
1
=
[
λ
1
λ
2
1
1
]
[
λ
1
k
0
0
λ
2
k
]
[
λ
1
λ
2
1
1
]
−
1
(9)
A^k=S\Lambda^k S^{-1}=\begin{bmatrix}\lambda_1&\lambda_2\\1&1\end{bmatrix} \begin{bmatrix}\lambda_1^k & 0\\0 & \lambda_2^k\end{bmatrix} \begin{bmatrix}\lambda_1&\lambda_2\\1&1\end{bmatrix}^{-1}\tag{9}
Ak=SΛkS−1=[λ11λ21][λ1k00λ2k][λ11λ21]−1(9)
接着我们将初值
u
0
u_0
u0用特征向量的线性组合的方式表示,S为特征向量组成的矩阵
u
0
=
[
1
0
]
=
c
1
[
λ
1
1
]
+
c
2
[
λ
2
1
]
=
[
λ
1
λ
2
1
1
]
[
c
1
c
2
]
=
S
C
(10)
u_0=\begin{bmatrix}1\\0\end{bmatrix}=c_1\begin{bmatrix}\lambda_1\\1\end{bmatrix}+c_2\begin{bmatrix}\lambda_2\\1\end{bmatrix}= \begin{bmatrix}\lambda_1&\lambda_2\\1&1\end{bmatrix} \begin{bmatrix}c_1\\c_2\end{bmatrix}=SC\tag{10}
u0=[10]=c1[λ11]+c2[λ21]=[λ11λ21][c1c2]=SC(10)
λ
1
,
λ
2
\lambda_1,\lambda_2
λ1,λ2的值由(6)式已知,解得
c
1
=
1
λ
1
−
λ
2
=
1
5
、
c
2
=
−
1
λ
1
−
λ
2
=
−
1
5
c_1=\frac{1}{\lambda_1-\lambda_2}=\frac{1}{\sqrt{5}}、c_2=-\frac{1}{\lambda_1-\lambda_2}=-\frac{1}{\sqrt{5}}
c1=λ1−λ21=51、c2=−λ1−λ21=−51,便可根据(5)(9)(10)式写出斐波拉契数列的通项公式:
u
k
=
S
Λ
k
S
−
1
S
C
=
S
Λ
k
C
=
[
λ
1
λ
2
1
1
]
[
λ
1
k
0
0
λ
2
k
]
[
c
1
c
2
]
=
[
c
1
λ
1
k
+
1
+
c
2
λ
2
k
+
1
c
1
λ
1
k
+
c
2
λ
2
k
]
(11)
u_k=S\Lambda^k S^{-1}SC=S\Lambda^kC=\begin{bmatrix}\lambda_1&\lambda_2\\1&1\end{bmatrix} \begin{bmatrix}\lambda_1^k & 0\\0 & \lambda_2^k\end{bmatrix} \begin{bmatrix}c_1\\c_2\end{bmatrix}= \begin{bmatrix} c_1\lambda_1^{k+1}+c_2\lambda_2^{k+1} \\ c_1\lambda_1^{k}+c_2\lambda_2^{k}\end{bmatrix} \tag{11}
uk=SΛkS−1SC=SΛkC=[λ11λ21][λ1k00λ2k][c1c2]=[c1λ1k+1+c2λ2k+1c1λ1k+c2λ2k](11)
容易根据(2)式得到最终
F
k
F_k
Fk的通项公式为:
F
k
=
c
1
λ
1
k
+
c
2
λ
2
k
=
1
5
[
(
1
+
5
2
)
k
−
(
1
−
5
2
)
k
]
(12)
\boxed{F_k=c_1\lambda_1^{k}+c_2\lambda_2^{k}=\frac{1}{\sqrt{5}}\left[\left(\frac{1+\sqrt{5}}{2}\right)^k-\left(\frac{1-\sqrt{5}}{2}\right)^k\right]}\tag{12}
Fk=c1λ1k+c2λ2k=51⎣
⎡(21+5)k−(21−5)k⎦
⎤(12)
最后我们将其中根式的小数近似值带入得到:
F
k
≈
1
2.2
[
1.61
8
k
−
(
−
0.618
)
k
]
(13)
F_k\approx\frac{1}{2.2}\left[ 1.618^k- \left( -0.618 \right)^k \right]\tag{13}
Fk≈2.21[1.618k−(−0.618)k](13)
当k足够大的时候,后面那项
(
−
0.618
)
k
\left( -0.618 \right)^k
(−0.618)k趋近于零,则通项公式可以近似为
F
k
≈
1.61
8
k
2.2
(14)
F_k\approx\frac{1.618^k}{2.2}\tag{14}
Fk≈2.21.618k(14)
其实该推导过程与我们在研究一个系统的稳定性有异曲同工之妙,特征值分析即将一个系统各部分解耦,其中
∣
λ
∣
<
1
|\lambda|<1
∣λ∣<1的部分即为收敛部分,大于1则为发散部分,等于1即最终稳态呈现的部分。