这完全是一个数学问题,但有的时候可以用来解决一些计算机问题,所以简单总结一下。
感谢今天上午学长的精彩讲解。 2018.1.24
结论
对于数列A,若
An=p⋅An−1+q⋅An−2
那么A的通项公式就一定能表示成
An=α⋅xn1+β⋅xn2
的形式。
其中
x1,x2
为方程
x2−p⋅x−q=0
的两根。(它们也被称为这个数列的特征根)
证明
我只是一个普通人,所以我并不知道数学家是如何脑洞大开,想出这个结论的,但是我们可以尝试着“反向证明”。(这个证明是我自己胡乱YY的,别听我胡扯!)
假如我们已知一个数列的通项公式为
An=α⋅xn1+β⋅xn2
,那么我们能不能试着反推它的递推式。假如:
An=p⋅An−1+q⋅An−2
,那么有:
[α⋅xn1+β⋅xn2]=p⋅[α⋅xn−11+β⋅xn−12]+q⋅[α⋅xn−21+β⋅xn−22]
也就是:
[α⋅xn1]+β⋅xn2=[p⋅α⋅xn−11+q⋅α⋅xn−21]+p⋅β⋅xn−12+q⋅β⋅xn−22
。
我们不妨假设,这个式子可以拆成两部分:
α⋅xn1=p⋅α⋅xn−11+q⋅α⋅xn−21
β⋅xn2=p⋅β⋅xn−12+q⋅β⋅xn−22
系数约掉:
xn1=p⋅xn−11+q⋅xn−21
xn2=p⋅xn−12+q⋅xn−22
两个式子分别处以
xn−11,xn−22
:
x21=p⋅x1+q⇔x21−p⋅x1−q=0
x22=p⋅x2+q⇔x22−p⋅x2−q=0
这说明如果
x1,x2
恰是
x2−p⋅x−q=0
的两根,该递推式就可行。
(不靠谱的证明到此结束)
以后如果我知道了正确的证明方式我就把正确的证明补上。
用法
这样的话,只需要知道这个数列中的任意两项,带入求出
α,β
就得到了完整的通项公式。
用法案例:斐波那契数列
比如斐波那契数列的通项公式:
斐波那契数列的定义:
F0=F1=1
Fn=Fn−1+Fn−2:n≥2
它的特征方程为:
x2−x−1=0
两个特征根为:
x1=1+5√2,x2=1−5√2
所以通项公式为
Fn=α(1+5√2)n+β(1−5√2)n
。
把
F0,F1
带入通项公式。
F0=α+β=1
F1=α⋅1+5√2+β⋅1−5√2=1
解方程得:
α=5√+125√,β=5√−125√
所以,斐波那契数列通项公式为:
Fn=5√+125√(1+5√2)n+5√−125√(1−5√2)n
注意,这个通项公式是从n=0开始的,我看到百度上给出了从n=1开始的通项公式。
若将
F1=F2=1
带入通项公式:
F1=α⋅1+5√2+β⋅1−5√2=1
F2=α⋅(1+5√2)2+β⋅(1−5√2)2=1
解得:
α=15√,β=−15√
。
所以通项公式为:
Fn=15√(1+5√2)n−15√(1−5√2)n
这个式子只需要向左平移一下就可以得到刚才求出的从0开始的那个通项公式(这说明我解方程没解错)。
—> 百度百科戳这里 <—