递归方程求解法
特征方程求解
特征方程法本质上是先猜后证的方法。我们猜测方程的解得形式为 x n x^n xn ,然后带入递归式,求解 x x x。
k阶齐次线性常系数
给出的条件有递归关系和初始解:
{ f ( n ) = a 1 f ( n − 1 ) + a 2 f ( n − 2 ) + ⋯ + a k f ( n − k ) f ( i ) = b i , 0 ≤ i ≤ k − 1 \begin{cases} \quad f(n) = a_1f(n-1) + a_2f(n-2) + \dots + a_kf(n-k) \\ \quad f(i) = b_i, \quad 0 \leq i \leq k-1 \end{cases} { f(n)=a1f(n−1)+a2f(n−2)+⋯+akf(n−k)f(i)=bi,0≤i≤k−1
猜测的解带入递归式之后,得到
x n = a 1 x n − 1 + a 2 x n − 2 + ⋯ + a k x n − k \displaystyle x^n = a_1 x^{n-1} + a_2 x^{n-2} + \dots + a_k x^{n-k} xn=a1xn−1+a2xn−2+⋯+akxn−k
两边同时除以 x n − k x^{n-k} xn−k 得到 x k = a 1 x k − 1 + a 2 x k − 2 + ⋯ + a k \displaystyle x^k = a_1 x^{k-1} + a_2 x^{k-2} + \dots + a_k xk=a1xk−1+a2xk−2+⋯+ak
移项得到 x k − a 1 x k − 1 − a 2 x k − 2 − ⋯ − a k = 0 \displaystyle x^k – a_1 x^{k-1} – a_2 x^{k-2} – \dots – a_k = 0 xk−a1xk−1−a2xk−2−⋯−ak=0
解方程可以得到 k k k 个根 x 1 , x 2 , … , x k x_1,x_2,\dots,x_k x1,x2,…,xk
k个不同根
对任意解 f ( n ) = x i n f(n) = x_i^n f(n)=xin,代入方程,得到 0 0 0
解的线性组合 f ( n ) = ∑ i = 1 k c i x i n f(n) = \sum_{i=1}^{k} c_i\ x_i^n f(n)=∑i=1kci xin 也满足方程为 0 0 0。这可以作为 f ( n ) f(n) f(n) 的通解形式。
再根据初始解,得到 k k k 个线性方程,解方程组就能得到 f ( n ) f(n) f(n) 的各项系数 c i c_i ci 。
有重根
假设对于某个解 x i x_i xi 有 r r r 重根。和常微分方程类似,方程的解空间是 k k k 维的。所以关于解 x i x_i xi 应该有 r r r 个无关的解。
以二阶特征方程 x 2 + a x + b = 0 \displaystyle x^2 + ax + b = 0 x2+ax+b=0 为例。
假设 △ = a 2 − 4 b = 0 \triangle = a^2 – 4b = 0 △=a2−4b=0,则 x 1 = x 2 = − a 2 x_1 = x_2 = – \frac{a}{2} x1=x2=−2a
为求得解的形式,设 f ( n ) = g ( n ) × x 1 n f(n) = g(n) \times x_1^n f(n)=g(n)×x1n
代入递归方程 f ( n ) + a f ( n − 1 ) + b f ( n − 2 ) = 0 f(n) + af(n-1) + bf(n-2) = 0 f(n)+af(n−1)+bf(n−2)=0
得到 x 1 2 g ( n ) + a x 1 g ( n − 1 ) + b g ( n − 2 ) = 0 x_1^2\ g(n) + a\ x_1\ g(n-1) + b\ g(n-2) = 0 x12 g(n)+a x1 g(n−1)+b g(n−2)=0
经检验, g ( n ) = 1 , g ( n ) = n g(n)=1, g(n) = n g(n)=1,g(n)=n 都是可行的解
线性组合的形式 f ( n ) = ( c 1 + c 2 n ) x 1 n f(n) = (c_1 + c_2\ n)\ x_1^n f(n)=(c1+c2 n) x1n 就是通解的形式。
对于高阶的方程,也可以使用类似的方法。
一般来说,有 r r r 重根的解 x i x_i xi ,有 r r r 个线性无关的解 x i n , n × x i n , n 2 × x i n , … , n r − 1 × x i n x_i^n, n \times x_i^n, n^2 \times x_i^n, \dots, n^{r-1} \times x_i^n xin,n×xin,n2×xin,…,nr−1×xin。线性组合即可。
通解 f ( n ) = ⋯ + ( c i + c i + 1 n + ⋯ + c i + r − 1 n r − 1 ) x i n + c i + r x i + 1 n + … f(n) = \dots + (c_i + c_{i+1}\ n\ + \dots + c_{i+r-1}\ n^{r-1}\ )\ x_i^n + c_{i+r}\ x_{i+1}^n + \dots f(n)=⋯+(ci+ci+1 n +⋯+ci+r−1 nr−1 ) xin+ci+r xi+1n+…
k阶非齐次线性常系数
解法和常微分方程类似:先求齐次通解,再求非齐次特解。
递归方程变化: f ( n ) = a 1 f ( n − 1 ) + a 2 f ( n − 2 ) + ⋯ + a k f ( n − k ) + g ( n ) f(n) = a_1f(n-1) + a_2f(n-2) + \dots + a_kf(n-k) + g(n) f(n)=a1f(n−1)+a2f(n−2)+⋯+akf(n−k)+g(n)
根据 g ( n ) g(n) g(n) 形式的不同,方程的解法也不一样(猜什么形式的解不一样)
g(n)是n的m次多项式
如果 g ( n ) = ∑ i = 0 m b i n i g(n) = \sum_{i=0}^{m} b_i\ n^i g(n)=∑i=0mbi ni,那么可以猜测 f ( n ) f(n) f(n) 的特解形式为 ∑ i = 0 m A i n i \sum_{i=0}^{m} A_i\ n^i ∑i=0mAi ni
接下来将猜测的形式代入递归方程,对其各阶系数,可以得到 m + 1 m+1 m+1 各关于 A i A_i Ai 的方程。解线性方程组可以得到各阶系数 A i A_i Ai。
g(n)是n的指数函数
具有形式 g ( n ) = ( ∑ i = 0 m A i n i ) × λ n g(n) = \displaystyle (\sum_{i=0}^{m} A_i\ n^i)\times \lambda^n g(n)=(i=0∑mAi ni)×λn
如果 λ \lambda λ 是特征方程的 r r r 重根,特解形式设为 f ∗ ( n ) = ( ∑ i = 0 m A i n i ) × λ n × n r f^{*}(n) = \displaystyle (\sum_{i=0}^{m} A_i\ n^i)\times \lambda^n \times n^r f∗(n)=(i=0∑mAi ni)×λn×nr 即可。(并不会证明)