题目
设 数列 { a n } 满足 ( 2 − a n ) a n + 1 = 1. 证 明 lim n → + ∞ a n = 1 \text { 设 数列 }\left\{a_{n}\right\} \text { 满足 } \left(2-a_{n}\right) a_{n+1}=1 . \text { 证 明 } \lim _{n \rightarrow+\infty} a_{n}=1 设 数列 {an} 满足 (2−an)an+1=1. 证 明 n→+∞liman=1
思考
只要能证明 a n {a_{n}} an收敛,便可求出 lim n → + ∞ a n \lim _{n \rightarrow+\infty} a_{n} limn→+∞an。(解方程(2-x)x=1即可)
我们先探究递推关系式: a n + 1 = 1 2 − a n a_{n+1}=\frac{1}{2-a_{n}} an+1=2−an1
题目中没有给出初值,我们考虑初值对于数列形态的影响。
通过观察递推函数图像可知:
a 1 < 1 a_{1}<1 a1<1时, 0 < a 2 < 1 0<a_{2}<1 0<a2<1,所以 a n < 1 a_{n}<1 an<1。
a 1 = 1 a_{1}=1 a1=1时, a n = 1 a_{n}=1 an=1。
a 1 > 2 a_{1}>2 a1>2时, a 2 < 0 < 1 a_{2}<0<1 a2<0<1,所以 a n < 1 , ( n > 1 ) a_{n}<1,(n>1) an<1,(n>1)。
1 < a 1 < 2 1<a_{1}<2 1<a1<2时,猜测 a n a_{n} an迟早会大于2,所以之后还会小于1。
下面是python代码:
import matplotlib.pyplot as plt
def f(init):
a = [init]
n = range(100)
for i in n:
a.append(1 / (2 - a[i]))
plt.plot(range(101), a, label=init)
f(-1)
f(0.5)
f(0.7)
f(1)
f(2.5)
f(3)
plt.legend()
plt.show()
我们发现:
- 初值小于1时,曲线小于1且递增;
- 初值等于1时,曲线为1;
- 初值大于2时,刚开始大于1,之后又全部小于1且递增。
- 初值大于1小于2时,先增大到大于2,再小于1,之后递增趋于1。
证明:
当 a 1 < 1 a_{1}<1 a1<1时,假设 a n < 1 a_{n}<1 an<1,则 a n + 1 = 1 2 − a n < 1 a_{n+1}=\frac{1}{2-a_{n}}<1 an+1=2−an1<1。根据数学归纳法, a n < 1 a_{n}<1 an<1
∵ a n + 1 − a n = 1 2 − a n − a n > 0 , ∴ a n \because a_{n+1}-a_{n}=\frac{1}{2-a_{n}}-a_{n}>0,\therefore a_{n} ∵an+1−an=2−an1−an>0,∴an递增,根据实数连续性命题2, a n a_{n} an收敛
当 a 1 = 1 a_{1}=1 a1=1时,易知: a n = 1 a_{n}=1 an=1。
当 a 1 > 2 a_{1}>2 a1>2时, a 2 < 0 < 1 a_{2}<0<1 a2<0<1,归结到第一种情况。
当 1 < a 1 < 2 1<a_{1}<2 1<a1<2时,用反证法,假设 ∀ n , a n < 2 \forall n,a_{n}<2 ∀n,an<2,又易知 a n a_{n} an单调递增,所以 a n a_{n} an收敛。若收敛,则一定收敛到1。矛盾。所以 ∃ n , s . t . a n > 2 \exist n, s.t. a_{n}>2 ∃n,s.t.an>2,归结到第3种情况。
综上所述, a n a_{n} an收敛。