特征方程求解递归方程

合集下载

递归方程求解方法综述

递归方程求解方法综述

递归方程求解方法综述递归方程是数学中常见的一种表示方式,它描述了一个数列或函数之间的递推关系。

递归方程求解方法是指寻找递归方程的解析解或近似解的过程。

在许多应用领域,递归方程都是非常重要的,例如在计算机科学、自然科学及经济学等各个领域。

本文将从递归方程的求解方法综述入手,介绍常见的求解方法,包括代入法、特征根法、母函数法等,并举例说明其应用。

一、代入法代入法是求解递归方程的常见方法之一、它的基本思想是通过猜测法求得递归方程的解的形式,然后通过代入递归方程验证该猜测解是否成立。

如果成立,我们就可以得到递归方程的解析解;如果不成立,我们需要修改猜测解的形式,重复上述过程直到找到正确的解。

例如,考虑递推关系式$f(n) = 2f(n-1) + 3$,其中$f(0)=1$。

我们首先猜测$f(n) = a\cdot 2^n + b$,代入递推关系式可得:$a\cdot 2^n + b = 2(a\cdot 2^{n-1} + b) + 3$。

整理得$a\cdot 2^n + b = 2a\cdot 2^{n-1} + 2b + 3$。

化简可得$a\cdot 2^{n-1} = 2b + 3$。

由此可知,$b = \frac{a\cdot 2^{n-1} - 3}{2}$。

将$b$的值代入原方程得到$a\cdot 2^n + \frac{a\cdot 2^{n-1} - 3}{2} = 2(a\cdot2^{n-1} + \frac{a\cdot 2^{n-1} - 3}{2}) + 3$。

进一步化简可得$a = 6$。

因此,递归方程的解析解为$f(n) =6\cdot 2^n + \frac{3}{2}(2^n - 1)$。

二、特征根法特征根法是求解线性递归方程的常用方法。

这种方法基于线性递归方程的特征方程和特征根的性质,通过求解特征方程的根来得到递归方程的解析解。

考虑递归关系式$f(n) = af(n-1) + b$,其中$f(0)=c$。

数列求通项的十种方法

数列求通项的十种方法

数列求通项的十种方法
数列是数学中的一个重要概念,对于求数列通项的问题,有许多不
同的解法。

下面将介绍十种求解数列通项的方法。

1. 暴力求解法:将数列中的前几项写出来,然后根据已知项之间的规
律来推出通项公式。

2. 公式推导法:利用一些已知的数列通项公式,结合这个数列的特点,在此基础上推导出此数列的通项公式。

3. 通项公式分解法:将数列的通项公式分解为元素之和的形式,从而
得到每一项的通项公式。

4. 递推公式求解法:根据数列中一些指定的通项公式,推导出递推公式,并使用递推公式依次求出数列中每一项的通项公式。

5. 差分法:通过对数列求差(即相邻项之差),得到一个新数列,然
后对新数列再次求差,直到差分后的数列为常数列,最后通过累加得
到原数列的通项公式。

6. 微积分法:对数列进行微积分操作,得到导数,然后再对导数积分,通过积分得到原数列的通项公式。

7. 特征方程法:将递推公式转化为特征方程,并求解特征根,然后根
据特征根求得通项公式。

8. 奇怪公式法:有些数列的通项公式看起来十分奇怪,但通过反复验证,发现确实有效。

9. 递归法:通过一个递归的函数,根据某一项的值递归计算其他项的值,最终得到整个数列的通项公式。

10. 牛顿插值法:利用牛顿插值法,通过已知的数列中一部分数值,反
推出整个数列的通项公式。

以上是十种求解数列通项的方法,每种方法都有其适用范围和局限性。

对于不同的数列,选择不同的方法求解,可以得到更加准确和简便的
结果。

递归方程求解方法综述

递归方程求解方法综述

递归方程求解方法综述摘要:随着计算机科学的逐步发展,各种各样的算法相继出现,我们需要对算法进行分析,以选择性能更好的解决方案。

算法分析中计算复杂度常用递归方程来表达,因此递归方程的求解有助于分析算法设计的好坏。

阐述了常用的3种求解递归方程的方法:递推法、特征方程法和生成函数法。

这3种方法基本上可以解决一般规模递归方程的求解问题。

关键词:递归;递推法;特征方程;生成函数0引言寻求好的解决方案是算法分析的主要目的,问题的解决方案可能不只一个,好的方案应该执行时间最短,同时占有存储空间最小,故算法分析一般考虑时间复杂性、空间复杂性两方面的参数。

在算法分析时我们采用时间耗费函数来表示时间参数,用当问题规模充分大时的时间耗费函数的极限表示时间复杂度。

一般算法对应的时间耗费函数常用递归方程表示,找出递归方程的解,就可以表示其对应算法复杂度的渐进阶,从而比较算法的优劣。

因此研究递归方程的解法意义重大。

下文将分析并给出常用递归方程的3种解法。

1递归方程的解法递归方程是对实际问题求解的一种数学抽象,递归的本质在于将原始问题逐步划分成具有相同解题规律的子问题来解决,原始问题与子问题仅在规模上有大小区别,并且子问题的规模比原始问题的规模要小。

对于规模为n的原始问题,我们通常会寻找规模n的问题与规模n-1或者规模n/2的问题之间存在的联系,从而进一步推导出具有递归特性的运算模型。

根据递归方程的一般形式,常用的解法有三种,分别是递推法、公式法及生成函数法。

下面就分别来分析其求解过程。

1.1递推法当递归方程形式简单且阶数较低时,一般可以采用递推法求解,根据一步一步递推找到方程的递推规律,得到方程的解。

下面举例说明: t(1)=0t(n)=2t(n/2)+n2(n≥2)t(n)=2t(n/2)+n2=2(2t(n/22)+(n/2)2)+n2=22t(n/2)2+2n2/22+n2=22(2t(n/23)+(n/22)2)+2n2/22+n2=23(2t(n/23)+22n2/(22)2)+2n2/(22)1+n2…=2kt(n/2k)+∑k-1i=02in2(22)i递推到这里我们就可以发现递归规律,找到递归出口, t(1)=0,令n=2k 则可以得到如下结果:t(n) =2kt(1) +∑k-1i=0n2(1/2)i)=n2(1-(1/2)k1-1/2)=2n2-2n 上面得到方程的解,我们来分析其对应算法复杂性的渐进阶,根据渐进阶定理有:设有函数f(n),g(n)均是规模n的函数,则o(f(n))+o(g(n))=o(max(f(n), g(n)))。

算法常用数学工具_递归方程求解

算法常用数学工具_递归方程求解
f ( n) (n 1) 3 1 3 k 1
k 1 k 1 n n
3
f (n) 2 f (n 1) 1 f (1) 1
3.2 用递推方法求汉诺塔问题的 复杂度
20 * f (n) 20 * 2 f (n 1) 20 *1 1 1 1 2 * f ( n 1 ) 2 * 2 f ( n 2 ) 2 *1 ...... 2 n 3 * f (3) 2 n 3 * 2 f (2) 2 n 3 *1 n2 n2 n2 2 * f ( 2 ) 2 * 2 f ( 1 ) 2 *1
n n

待定系数的线性方程组的解是:c1=5/9, c2=-1/3, c3=4/9
c1 c3 1 2c1 2c2 - c3 0 4c 8c c 0 2 3 1
通解:
5 n 1 n 4 n f (n) 2 - n2 - 1 9 3 9
2.5 k阶常系数线性非齐次递归方程
第2章 常用数学工具
1. 用生成函数求解递归方程 2. 用特征方程求解递归方程
3. 用递推方法求解递归方程
1. 用生成函数求解递归方程
1.1 什么是生成函数 1.2 生成函数的性质
1.3 用生成函数求解汉诺塔问题
1.4 用生成函数求解Fabanacci数 列通项
1.1 什么是生成函数
对于实数序列:
f (n) a1 f (n 1) a2 f (n 2) ... ak f (n k ) g (n) 初始条件 通解为: f (n) f (n) f * (n) 即齐次通解+特解
确定特解的任务就成为关键。根据齐次特征方程 根的情况,特解可以分为两种情况: 没有等于1的特征根:特解的多项式次数与g(n) 相同; 含有等于1的特征根:特解的多项式次数比g(n) 大1,但不含常数项。

特征方程求解递归方程

特征方程求解递归方程

特征方程求解递归方程
在计算机科学和算法设计中,递归方程是非常常见的数学模型。

通常情况下,它们被用来描述某些重复性的过程或者算法的运行时间。

例如,计算斐波那契数列、快速排序算法等都可以用递归方程来描述。

解决递归方程的一种常见方法是使用特征方程。

特征方程是一个与原方程形式相似的代数方程,通过求解它的根可以得到递归方程的通项公式。

特征方程的求解需要一些数学知识,包括线性代数和微积分等。

但是,对于一些简单的递归方程,我们可以使用一些基本的技巧来求解它们的特征方程。

例如,对于斐波那契数列的递归方程f(n) = f(n-1) + f(n-2),我们可以将它转化为特征方程x^2 = x + 1,然后求解它的根为φ和1-φ(φ是黄金比例,约为1.618),从而得到斐波那契数列的通项
公式f(n) = (φ^n - (1-φ)^n) / √5。

特征方程可以帮助我们更加系统地理解递归方程,从而更好地设计和分析算法。

因此,学习特征方程的求解方法是非常有价值的。

- 1 -。

求解递归方程的方法

求解递归方程的方法
设 H*(n) = P P = 2 P + 1 , P = -1 H(n) = A 2n –1
代入初值 H(1) = 1
得 A=1 解为 H(n) = 2n –1
f(n)为指数函数 n,特解也为指数形式 若不是特征根,则特解为H*(n) = Pn 若是e重特征根,则特解为Pnen
例13 H(n) +5H(n-1) +6H(n-2) = 424n 令 H*(n) = P 4n , 代入得
令 H*(k) = P1k2k +P2 , 解得 P1=P2=1, H*(k) = k2k +1
通解 H(k)=C 2k + k2k +1, 代入初值,得
C= -1 H(k) = - 2k + k2k +1 T(n) = n log n – n +1
n = 2k
3.叠代归纳法 例13 H(n) = (4n-6) H(n-1) H(1) =1
f0 1, f1 1
解:x2-x-1 =0 的根为 1 5 , 1 5
2
2

递推方程的通解为
fn
C1
1
2
5
n
C2
1
2
5 n
带入初值 得
C1 C2 1
C1
1
2
5
C2
1
2
5
1
解得
C1
1 1 5 ,
52
C2
1 1 52
5
fn
1 5
1 2
5
n1
1 1 5 n1 5 2
H (n) C1q1n C2q2n ... Ck qk n C1,C2 ,...,Ck 待 定 常 数

递归方程求解

递归方程求解

解递归方程下面的求解方法,其正确性可阅读组合数学中的相关内容。

1、 递推法例:Hanoi 塔问题递归算法的时间复杂性,由以下递归方程给出:()2(1) 1 2(1)1T n T n n T =-+≥⎧⎨=⎩递推求解如下:232122122()2(1)12(2(2)1)12(2)212(3)221......2(1)2 (221)22 (221)21n n n n n T n T n T n T n T n T ----=-+=-++=-++=-++++=+++++=+++++=-所以,Hanoi 塔问题递归算法的时间复杂性为:()(2)n T n O =例:分治法实例。

设n 表示问题的尺寸,n/b 表示将问题分成a 个子问题后的每个子问题的尺寸,其中a,b 为常数。

d(n)表示在分解或合成子问题而得到整个问题解决时的时间耗费。

则整个问题的时间耗费由下面的递归方程给出: ()(/)() 2(1)1T n aT n b d n n T =+≥⎧⎨=⎩递推求解如下:222232332210()((/)(/))()(/)(/)()((/)(/))(/)()(/)(/)(/)() ......(/)(/)k k ki i i T n a aT n b d n b d n a T n b ad n b d n a aT n b d n b ad n b d n a T n b a d n b ad n b d n a T n b a d n b -==++=++=+++=+++=+∑设:kn b =,则log b k n =,有: 10()(1)(/)k ki i i T n a T a d n b -==+∑ 当()d n 为常数时,有:log 10()() 1()(log ) 1 b a k k k ii b O a O n a T n a c a O n a -=⎧=≠=+=⎨=⎩∑ 当(),d n cn c =为常数时,有:111000(/)(/)(/)k k k i i i ii i i i a d n b a cn b cn a b ---=====∑∑∑若:a b <,则:10(/)()k i i cn a b O n -==∑log ()()()b a T n n O n O n =+=若:a b =,则:10(/)log k i b i cn a b cnk cn n -===∑log ()log (log )b a b b T n n cn n O n n =+=若:a b >,则:1log log 0(/)1(/)()()()/1/1b b k k kk n a ik i a b a b cn a b cn c O a O a O n a b a b -=--=====--∑ log log log ()()()b b b a a a T n n O n O n =+=综上所述:log () ()(log ) () b n O n a b T n O n n a b O na b ⎧<⎪==⎨⎪>⎩2、公式解法K 阶常系数齐次递推方程:12()(1)(2)...()0k T n a T n a T n a T n k -------= 0,,,1,...,k i a n k a i k ≠≥=是常数则对应的特征方程为:1212...0k k k k x a x a x a ------=特征方程有k 个根:12,,...,k q q q ,称为齐次方程的特征根。

算法-求解递归方程的方法

算法-求解递归方程的方法

1第二章 常用的数学工具2.2 用生成函数求解递归方程 2.2.1 生成函数及其性质一、生成函数的定义定义2.1 令 ,,,210a a a 是一个实数序列,构造如下的函数:k k kz az a z a a z G ∑∞==+++=02210)( (2.2.1)则函数)(z G 称为序列 ,,,210a a a 的生成函数。

例:函数nn n n n n n x C x C x C C x ++++=+ 2210)1(则函数n x )1(+便是序列nn n n n C C C C ,,,,210 的生成函数。

二、生成函数的性质1. 加法 设k k k z a z G ∑∞==0)(是序列 ,,,210a a a 的生成函数,k k kz bz H ∑∞==)(是序列,,,210b b b 的生成函数,则)()(z H z G βα+k k kkk kz bz az H z G ∑∑∞=∞=+=+0)()(βαβα2k k k kz b a)(0∑∞=+=βα(2.2.2)是序列 ,,,221100b a b a b a βαβαβα+++的生成函数。

2.移位 设k k k z a z G ∑∞==0)(是序列 ,,,210a a a 的生成函数,则)(z G z mkmk m k mzaz G z ∑∞=-=)( (2.2.3)是序列 ,,,,0,,0210a a a 的生成函数。

3.乘法 设k k k z a z G ∑∞==0)(是序列 ,,,210a a a 的生成函数,k k kz bz H ∑∞==)(是序列,,,210b b b 的生成函数,则)()(z H z G)()()()(22102210 ++++++=z b z b b z a z a a z H z G++++++=2021120011000)()(z b a b a b a z b a b a b ak k k z c ∑∞==0(2.2.4)是序列 ,,,210c c c 的生成函数,其中,k n nk k n b a c -=∑=04. z 变换 设k k k z a z G ∑∞==0)(是序列 ,,,210a a a 的生成函数,则3)(z c G++++=332210)()()()(z c a z c a z c a a z c G++++=33322210z a c z a c z a c a(2.2.5)是序列 ,,,2210a c a c a 的生成函数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

得到: c1=0, c2=-1, c3=1 因此,递归方程的解为:
f (n) (c1 c2 n)q1n c3q3n 3n n
作业1
解下列递归方程: 1. f(n)=3f(n-1), f(0)=5 2. f(n)=2f(n-1) f(0)=2 3. f(n)=5f(n-1) – 6f(n-2), f(0)=1, f(1)=1 4. f(n)= -6f(n-1) – 9f(n-2), f(0)=3, f(1)=-3
由初始条件得:
f (0) c1 c2 c3 0 f (1) c1 2c2 3c3 2 f (2) c 4c 9c 10 1 2 3
得到: c1=0, c2=-2, c3=2
因此,递归方程的解为:
f (n) 2(3n 2n )
化简后得到:
2 A1n 2 A2 10 A1 4n
由此得到联立方程:
2 A1 4 2 A2 10 A1 0
解得:A1=2, A2=10 非齐次递归方程的通解为:
f (n) c13 c2 4 (2n 10)2
n n
n
初始条件代入有:
f (1) 3c1 4c2 24 2
n 1 1 n i 1 i 1 k
r 1
n i
... ck q
前面2种情况下的c1,c2,…,ck均为待定系数;
将初始条件代入,建立联立方程,确定各个系数具体值,得到 通解f(n) 例1. 3阶常系数线性齐次递归方程如下
f (n) 6 f (n 1) 11 f (n 2) 6 f (n 3) f (0) 0 f (1) 2 f (2) 10
其中,a和bi为常数。 1)如果a不是特征方程的重根,特解f*(n) 形如:
f * (n) ( A1nm A2nm1 ... Amn Am1 )an
各个系数Ai待定
2)如果a是特征方程的r重特征根,特解f*(n) 形如:
f (n) ( An A2n 1
* m
m1
... Amn Am1 )n a
g(n)是n的m次的多项式
g(n)形如:
g (n) b1nm b2nm1 ... bmn bm1
其中,bi为常数。 此时,特解f*(n)也是n的m次多项式,形如:
m m1 f * (n) An A n ... Amn Am1 1 2
各个系数Ai待定
例3 。 2阶常系数线性非齐次递归方程如下
得到: c1=-41/3, c2=43/24
最后,非齐次递归方程通解为:
41 n 43 n 13 103 2 f ( n) 2 5 n n 3 24 2 8
g(n)是n的指数函数
g(n)形如:
g (n) (b1nm b2nm1 ... bmn bm1 )an
... ak 0
解题原理:
1) 求解上述特征方程的根,得到递归方程的通解 2)利用递归方程初始条件,确定通解中待定系数,得到递归方 程的解
考虑2种情况:
1)特征方程的k个根不相同 2)特征方程有相重的根
特征方程的k个根不相同:
假设:q1, q2, …, qk是k个不同的根,则递归方程的 通解为
其中,bi为常数,第2项为方程初始条件。
在上式中,用xn取代f(n), 有:
xn a1xn1 a2 xn2 ... ak xnk
两边分别除以xn-k,得:
x a1x
k
k 1
a2 x
k 2
... ak
特征方程如下:
x a1x
k
k 1
a2 x
k 2
例2 。 3阶常系数线性齐次递归方程如下
f (n) 5 f (n 1) 7 f (n 2) 3 f ( n 3) f (0) 0 f (1) 2 f (2) 7
解: 特征方程为 x3 - 5x2 + 7x - 3= 0
改写为: x3 - 5x2 + 6x + x- 3 = 0
解得:A1=1, A2=13/2, A3=103/8
非齐次递归方程的通解为:
n n
2 8 f (n) c1 2 c2 5 n n 13 103
2
8 f (0) c1 c2 1 103 初始条件代入有: f (1) 2c 5c 163 2 1 2 8
解: 特征方程为 x3 - 6x2 + 11x - 6 = 0
改写方程为:
x3 3x2 3x2 9 x 2 x 6 0
因式分解: (x-1)(x-2)(x-3)=0 得到特征根: q1=1, q2=2, q3=3
n n n f ( n ) c q c q c q 1 1 2 2 3 3 递归方程的通解为: n n c1 c2 2 c3 3
f (n) c q c2q2 ... ck qk
n 1 1 n
n
特征方程的k个根有重根:
假设:r个重根qi, qi+1, …, qi+r-1,则递归方程的通解 为
f (n) c q ... c q (ci ci 1n ... ci r 1n )q
二、K阶常系数线性非齐次递归方程
K阶常系数线性非齐次递归方程形如:
f (n) a1 f (n 1) a2 f (n 2) ... ak f (n k ) g (n) f (i) bi 0 i k 1 其中,bi为常数,第2项为方程初始条件。
因式分解: (x-3)(x2 - 2x+1)=0 (x-3)(x-1)(x-1)=0
得到特征根: q1=1, q2=1, q3=3 递归方程的通解为:
f (n) (c1 c2 n)q1n c3q3n c1 c2 n c3 3n
代入初始条件:
f (0) c1 c3 1 f (1) c1 c2 3c3 2 f (2) c 2c 9c 7 1 2 3
r
n
各个系数Ai待定
例4 。 2阶常系数线性非齐次递归方程如下
f (n) 7 f (n 1) 12 f ( n 2) n2 n f (0) 1 f (1) 2
解: 对应的齐次方程的特征方程为 x2 - 7x +12= 0
因式分解: (x - 3)(x - 4)=0
令非齐次递归方程的特解为:
2 f *(n) An A2n A3 1
代入原递归方程得:
{ A1n 2 A2 n A3 } 7{ A1 (n 1) 2 A2 (n 1) A3} 10{ A1 (n 2) 2 A2 (n 2) A3 } 4n 2
化简后得到:
4 A1n (26 A1 4 A2 )n (33 A1 13 A2 4 A3 )
2
4n 4n 0* n 0
2 2
!!!!!!由此得到联立方程:
4 A1 4 26 A1 4 A2 0 33 A1 13 A2 4 A3 0
特征根:q1=3,q2=4
对应齐次方程通解: f (n) c13n c2 4n
a=2不是特征方程的重根,故令非齐次递归方程的特解为:
f *(n) ( A1n A2 )2
代入原递归方程得:
n
( A1n 2 A2 )2n 7{ A1 (n 1) A2 }2n 1 12{ A1 (n 2) A2 }2n 2 n 2n
f (0) c1 c2 10 1
得到: c1= -14, c2=5
最后,非齐次递归方程通解为:
f (n) 14 3n 5 4n (2n 10)2 n 14 3n 5 4n ( n 5)2n 1
作业2
解下列递归方程: 1. f(n)=f(n-1) + n2, f(0)=0 2. f(n)=2f(n-1) +n, f(0)=1 3. f(n)=3f(n-1) + 2n, f(0)=3 4. f(n)= — 2f(n-1) + 2n —n2, f(0)=1
它的通解形式为: 其中, 1)
f (n) f (n) f * (n)
f (n) 为对应齐次递归方程的通解f*(n)
解题原理:
1. 一般没有寻找特解的有效方法 2. 先根据g(n)具体形式,确定特解;再将特解代入递归方程,用 待定系数法,求解特解的系数 3. g(n)分为以下几种情况: g(n)是n的m次的多项式 g(n)是n的指数函数
求解递归方程
算法复杂性经常描述为递归方程,解递归方程得到算法复 杂性的具体表示

用特征方程解递归方程 用生成函数解递归方程
用递推方法解递归方程
用特征方程解递归方程
K阶常系数线性齐次递归方程 K阶常系数线性非齐次递归方程

K阶常系数线性齐次递归方程
K阶常系数线性齐次递归方程形如:
f (n) a1 f (n 1) a2 f (n 2) ... ak f (n k ) 0 i k 1 f (i) bi
f (n) 7 f (n 1) 10 f (n 2) 4n 2 f (0) 1 f (1) 2
解: 对应的齐次方程的特征方程为 x2 - 7x +10= 0
因式分解: (x - 2)(x - 5)=0
特征根:q1=2,q2=5
对应齐次方程通解: f (n) c1 2n c2 5n
相关文档
最新文档