斐波那契数列通项求法
为求得費波那西數列的一般表达式,可以借助线性代数的方法。高中的初等数学知识也能求出。
初等代数解法
已知
∙ ∙
a 1 = 1
a 2 = 1
∙ a n = a n − 1 + a n − 2
首先构建等比数列
设a
n + α
a n − 1 = β(a n − 1 + αa n − 2) 化简得
a n = (β − α) a n − 1 + αβa n − 2
比较系数可得:
不妨设β > 0,α > 0 解得:
所以有a n + αa n − 1 = β(a n − 1 + αa n − 2) , 即
为等比数列。
求出数列{a n + αa n − 1}
由以上可得:
变形得: 。
令
求数列{b
n }进而得到{a
n }
设比数列
,解得。 故数列 为等
即 。而 , 故有
又有 和
可得
得出 a n 表达式
线性代数解法
构建一个矩阵方程
设J n 为第n 个月有生育能力的兔子数量,A n 为这一月份的兔子数量。
上式表达了两个月之间,兔子数目之间的关系。而要求的是,A n+1的表达式。
求矩阵的特征值:λ
行列式:-λ
*(1-λ)-1*1=λ2-λ-1
当行列式的值为0,解得λ1= 或 λ2=
特征矢量
将两个特征值代入
求特征矢量 得
=
=
分解首矢量
第一个月的情况是兔子一对,新生0对。
将它分解为用特征矢量表示。
(4)
用数学归纳法
证明
从
=
可得
(5)
化简矩阵方程
将(4) 代入 (5)
根据 3
求A 的表达式
现在在6的基础上,可以很快求出A n+1 的表达式,将两个特征值代入 6 中
(7)
(7)即为
A n+1 的表达式
近似值
用计算机求解
可通过编程观察斐波那契数列。分为两类问题,一种已知数列中的某一项,求序数。第二种是已知序数,求该项的值。
可通过递归递推的算法解决此两个问题。 事实上当n 相当巨大的时候,O(n)的递推/递归非常慢……这时候要用到矩阵加速这一技巧。
斐波那契数列通项求法
为求得費波那西數列的一般表达式,可以借助线性代数的方法。高中的初等数学知识也能求出。
初等代数解法
已知
∙ ∙
a 1 = 1
a 2 = 1
∙ a n = a n − 1 + a n − 2
首先构建等比数列
设a
n + α
a n − 1 = β(a n − 1 + αa n − 2) 化简得
a n = (β − α) a n − 1 + αβa n − 2
比较系数可得:
不妨设β > 0,α > 0 解得:
所以有a n + αa n − 1 = β(a n − 1 + αa n − 2) , 即
为等比数列。
求出数列{a n + αa n − 1}
由以上可得:
变形得: 。
令
求数列{b
n }进而得到{a
n }
设比数列
,解得。 故数列 为等
即 。而 , 故有
又有 和
可得
得出 a n 表达式
线性代数解法
构建一个矩阵方程
设J n 为第n 个月有生育能力的兔子数量,A n 为这一月份的兔子数量。
上式表达了两个月之间,兔子数目之间的关系。而要求的是,A n+1的表达式。
求矩阵的特征值:λ
行列式:-λ
*(1-λ)-1*1=λ2-λ-1
当行列式的值为0,解得λ1= 或 λ2=
特征矢量
将两个特征值代入
求特征矢量 得
=
=
分解首矢量
第一个月的情况是兔子一对,新生0对。
将它分解为用特征矢量表示。
(4)
用数学归纳法
证明
从
=
可得
(5)
化简矩阵方程
将(4) 代入 (5)
根据 3
求A 的表达式
现在在6的基础上,可以很快求出A n+1 的表达式,将两个特征值代入 6 中
(7)
(7)即为
A n+1 的表达式
近似值
用计算机求解
可通过编程观察斐波那契数列。分为两类问题,一种已知数列中的某一项,求序数。第二种是已知序数,求该项的值。
可通过递归递推的算法解决此两个问题。 事实上当n 相当巨大的时候,O(n)的递推/递归非常慢……这时候要用到矩阵加速这一技巧。