「学习笔记」不动点法求数列通项

前言

不动点法求数列通项是怎么回事呢?不动点法相信大家都很熟悉,但是不动点法求数列通项是怎么回事呢,下面就让小编带大家一起了解吧

不动点法求数列通项,其实就是数列通项可以通过寻找不动点求得,大家可能会很惊讶不动点法怎么会求数列通项呢?但事实就是这样,小编也感到非常惊讶

这就是关于不动点法求数列通项的事情了,大家有什么想法呢,欢迎在评论区告诉小编一起讨论哦

递推数列与函数迭代

对于 一阶递推数列,数列递推式可以表示成:

an+1=f(an)

所以,当我们知道 a1 之后,就能够求出数列中各项的值

a2=f(a1)a3=f(f(a1))an=f(f(f(f(n1fa1))))

所以,求解递推数列和求解函数迭代在本质上是一样的

n 次迭代函数

f(n)(x)=f(f(f(f(nfx))))

并补充定义

f(0)(x)=x

所以,有

an=f(n1)(a1)

于是,求解递推数列的问题就转化为了求解函数迭代

不动点的概念与性质

我们定义 不动点

对于函数 f(x)x0,f(x0)=x0,则称 x=x0 是函数 f(x)不动点

可以发现,一个函数的不动点也是它的任意次迭代函数的不动点,即

f(n)(x0)=f(n1)(x0)==f(x0)=x0

但是,迭代函数的不动点不一定是原始函数的不动点,比如 f(x)=1x

我们定义 数列的不动点

一般的,对于递推数列 {xn},其递推式为 xn+1=f(xn)x0,f(x0)=x0,则称 x=x0,是 数列 {xn} 的不动点

也就是说,若从数列 {xn} 某一项 xk 开始,数列的取值为 x0,即 xk=x0,则

xk+1=f(xk)=f(x0)=x0xk+2=f(xk+1)=f(x0)=x0xk+n=f(xk+n1)=f(x0)=x0

归纳得到,当 nk 时,xn=x0,即数列 {xn}k 之后 不动

有时候,数列 {xn} 中的值可能会取不到 x0,但会 收敛x0,即

limn+xn=x0

值得注意的是,不动点也可能 在实数域无解,此时的数列大多为 周期数列

换元法与函数相似

对于一个函数 f(x),设 t=φ(x),其中,为了简化问题,φ(x) 为定义域到值域的 满的单射(一一对应),这时就能用反函数表达 x=φ1(t),即

f(x)=f(φ1(t))

接下来,就需要表达出 f(n)(x)换元形式 下的表达方式

从二次迭代开始,我们把 f(f(x)) 看作 复合函数,其中,外层的自变量 x=f(x),将其换元得到

t=φ(x)=φ(f(φ1(t)))

g(t)=φ(f(φ1(t))),计算其迭代,有

g(g(t))=φ(f(φ1(φ(f(φ1(t))))))=φ(f(f(φ1(t))))

g(2)(t)=φ(f(2)(φ1(t)))

同理,归纳得到

g(n)(t)=φ(f(n)(φ1(t)))

我们定义 函数相似

对于两个函数 f(x),g(x)φ(x) 及其反函数 φ1(x),g(x)=φ(f(φ1(x))),则称 f(x)g(x) 通过 φ(x) 相似,记作 fφg,其中 φ(x) 称作 桥函数

  • 性质 1:若 fφg,则 f(n)φg(n)

上文已经做过证明

  • 性质 2:若 fφg,则 f(x)g(x)不动点一一对应

证明:

对于函数 g(x) 的不动点 x0,有

g(x0)=φ(f(φ1(x0)))=x0

于是

f(φ1(x0))=φ1(x0)

φ1(x0)f(x) 的不动点,即 f(x)g(x)不动点一一对应

不动点法求解数列通项

如此,不难想到 利用不动点法求解函数迭代

具体过程就是,当我们求解一个较复杂的函数 f(x) 的迭代时,可以寻找一个 与之相似但形式更简单的函数 g(x),通过计算 g(n)(x),再根据

g(n)(x)=φ(f(n)(φ1(x)))

得出

f(n)(x)=φ1(g(n)(φ(x)))

从而简化问题,计算出了 f(x) 的迭代

而在数列中,迭代容易计算的函数就是所学过的 等差数列 g(x)=x+b等比数列 g(x)=kx,其中前者的不动点为 ±,后者的不动点为 0±

由上文,f(x)g(x) 的不动点要 一一对应 ,也就是对于 f(x) 的不动点 x0,有 φ(x)g(x) 的不动点

如果只考虑不动点之间的对应关系,我们可以这样简单地构造一个 桥函数 φ(x)

  • f(x)唯一不动点 x0,令 φ(x)=1xx0,这样 φ(x0)=g(x)=x+b 的不动点

  • f(x)两个不动点 x1,x2,令 φ(x)=xx1xx2,这样 φ(x1)=0,φ(x2)= 都是 g(x)=kx 的不动点

当然构造的方法是多样的,这里只写了这两种

总结一下上述过程,那么 不动点法求解数列通项 的步骤就是

  1. 找点 :将递推式中的 an,an+1 均换成 x 求解不动点

  2. 构造 :按照上文方法构造 bn=1anx0 或者 bn=anx1anx2,代入原递推式,化简,得到数列 {bn} 的递推式,求解其通项公式

  3. 求解 :根据 {an},{bn} 之间的关系,求解 {an} 通项公式

需要知道,不动点法一般用于求解 分式形式 的递推式,而向、像上文一样构造,还能简化式子,非常美丽,虽然它也可以用于一般的递推式,但是本人认为不如 待定系数法 来得快一些,而最后两者构造出的数列是相同的

当然,上文也提到,不动点也可能 在实数域无解,此时的数列大多为 周期数列

简单理解就是,若根为复数,将它变为 三角函数形式 之后,这个玩意大概率是有周期的

其实,不动点在实数域无解,是这个数列为周期数列的 必要不充分条件

所以,当我们判断无解后,可以代几个数进去验证一下,毕竟高考题不会把周期 T 出的太大

一些例题

1 :设数列 {an} 满足 a1=2,an+1=5an1an+3,求数列 {an} 的通项公式

an,an+1 替换成 x,有

x=5x1x+3(x1)2=0

所以 x=1 为数列 {an} 的不动点,按照上文,构造数列

bn=1an1

将原式左右两边同时减去不动点 x=1,来配凑出数列 {bn},有

an+11=5an1an+311an+11=an+34an41an+11=1an1+14

所以数列 {bn} 为首项为 1,公差为 14 的等差数列,有

bn=1an1=1+(n1)×14=14n+34

an=n+7n+3

2 :设数列 {an} 满足 a1=3,an+1=4an2an+1,求数列 {an} 的通项公式

an,an+1 替换成 x,有

x=4x2x+1(x1)(x2)=0

所以 x1=1,x2=2 为数列 {an} 的不动点,按照上文,构造数列

bn=an1an2

将原式左右两边同时减去不动点 x1=1,x2=2,来配凑出数列 {bn},有

{an+11=4an2an+11=3(an1)an+1an+12=4an2an+12=2(an2)an+1

,有

an+11an+12=32×an1an2

所以数列 {bn} 为首项为 2,公比为 32 的等比数列,有

bn=an1an2=2×(32)n1

an=8×3n3×2n4×3n3×2n

3 :设数列 {an} 满足 a1=2,an+1=12(an+1an),求数列 {an} 的通项公式

an,an+1 替换成 x,有

x=12(x+1x)(x+1)(x1)=0

所以 x1=1,x2=1 为数列 {an} 的不动点,按照上文,构造数列

bn=an+1an1

将原式左右两边同时减去不动点 x1=1,x2=1,来配凑出数列 {bn},有

{an+1+1=12(an+1an)+1=(an+1)22anan+11=12(an+1an)1=(an1)22an

,有

an+1+1an+11=(an+1an1)2

bn=an+1an1=32n

an=32n1+132n11

4 :设数列 {an} 满足 a1=12,an+1=1+an1an,求数列 {an} 的通项公式

an,an+1 替换成 x,有

x=1+x1xx2+1=0

此时无解,考虑 {an} 为周期数列

an+1=1+1+an11an111+an11an1=1an1=an3

所以 {an} 为周期为 4 的数列

an={12n1(mod4)3n2(mod4)2n3(mod4)13n0(mod4)

写在最后

也许直接记住结论比较好捏,但是就是感觉太突兀没道理就来学了学,理解一下可能还会用的灵活一点

大量 借鉴 了其他博客,链接放在了下面

aaaaaa

Reference

https://zhuanlan.zhihu.com/p/104544760

https://zhuanlan.zhihu.com/p/116434438

posted @   LiBoyi  阅读(1705)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示