神奇的数列
已知正数数列${a_n}$,前$n$项和的表达是${S_n}$, 即$S_1=a_1, S_{n+1}=S_n+a_{n+1}$, $a_1 \gt 0$给定, 对于任意的$n$,存在关系$a_{n+1}^2 = S_n^2 +A S_n +B^2 $,求$a_n$注意,当$A\ge -2|B|$时,$a_{n+1}$的定义是永远唯一的,这时正数列总是有意义的。
但是即使$A \lt -2|B|$时,如果选择$a_1$大于$x^2+Ax+B^2=0$的大的正根,由于$S_1=a_1, S_1^2+A S_1+B^2 \gt 0$,可以找到合法唯一的$a_2 \gt 0$, 由于这是得出$S_2=S_1+a_2 \gt S_1$也大于上面二次方程的大根,同样可以继续得出唯一确定$a_3$, ... 所以这种情况也可以唯一确定合法序列 我先给出两个个案例.
当 $a_n =\frac{\sin (\theta )}{\sin (2^{1-n}\theta )}$时,计算得到$S_n = \frac{\sin (\theta -2^{-n}\theta )}{\sin (2^{-n}\theta)}$,然后代入$a_{n+1}^2 =S_n^2 +A S_n +B^2$,待定系数, 计算得到$A = 2 \cos ( \theta ), B=1$
当 $a_n =\frac{\sinh (\theta )}{\sinh (2^{1-n}\theta )}$时,计算得到$S_n = \frac{\sinh (\theta -2^{-n}\theta )}{\sinh (2^{-n}\theta)}$,然后代入$a_{n+1}^2 =S_n^2 +A S_n +B^2$,待定系数, 计算得到$A = 2 \cosh ( \theta ), B=1$
如图。
$a_{n+1}^2 = S_n^2 +A S_n +B^2=(\frac{A}{2}+S_{n})^2+(B^2-\frac{A^2}{4})$
若 $(B^2-\frac{A^2}{4})>0$,设$c^2=(B^2-\frac{A^2}{4})$
$\frac{c}{a_{2}}=sin\theta$,$\frac{c}{a_{n}}=sin\frac{\theta}{2^{n-2}}$
$\theta=arctan\frac{c}{\frac{A}{2]+a)$
$a_{n}=sin\frac{arctan\frac{c}{\frac{A}{2]+a)}{2^{n-2}},c=sqrt{B^2-\frac{A^2}{4}}$
若$(B^2-\frac{A^2}{4})=0$,则有 $a_{n}=2^{n-2}(a+\frac{A}{2})$ 有意思的数列
前段时间做了这样的题目a(n+1)=sqrt(S(n)^2-S(n)+2)。
更一般性数列a(n),S(n)是数列前n项之和,S(1)=a(1),S(n+1)=S(n)+a(n+1)。
如果有:
a(n+1)=sqrt(S(n)^2+A*S(n)+B),a(1)可以不要求一定大于等于0。
求a(n)。
可以先去掉S(n)得到:
a(n+1)^2=S(n)^2+A*S(n)+B(1)
a(n+2)^2=S(n+1)^2+A*S(n+1)+B (2)
(2)-(1):
a(n+2)^2-a(n+1)^2=(S(n+1)+S(n))*a(n+1)+A*a(n+1)
=(2S(n+1)-a(n+1))*a(n+1)+A*a(n+1)
所以:
2S(n+1)=(a(n+2)^2-A*a(n+1))/a(n+1)(3)
2S(n+2)=(a(n+3)^2-A*a(n+2))/a(n+2) (4)
(4)-(3):
2a(n+2)=a(n+3)^2/a(n+2)-a(n+2)^2/a(n+1)
a(n+3)^2/a(n+2)^2=a(n+2)/a(n+1)+2 (5)
⚠️⚠️⚠️注意这个等式成立条件是n>=1
设a(n+1)/a(n)=b(n),有:
b(n+1)^2=b(n)+2
b(n+1)=sqrt(2+b(n)) (6)
a1=a1
a2=sqrt(a1*a1+A*a1+B)
a3=sqrt((a1+a2)^2+A*(a1+a2)+B)
b1=a3/a2>=0
只要a2、a3符合要求。
1、如果0<=b1<=2
设b(1)=2*cosx
x=acos(b1/2)
cosx=2(cos(x/2))^2-1
所以:
b(n)=2cos(x/2^(n-1))
a(n)=a3*sin(x)/sin(x/2^(n-3)) n>=3
2、如果b1>=2
设b(1)=2*coshx
x=acosh(b1/2)
coshx=2(cosh(x/2))^2-1
所以:
b(n)=2cosh(x/2^(n-1))
a(n)=a3*sinh(x)/sinh(x/2^(n-3)) n>=3
补充内容 (2023-10-18 18:39):
我们再来仔细分析一下AB和初值x下a2、a3以及b1=a3/a2的情况。
a1=x
a2=sqrt(x^2+Ax+B)
a3=sqrt((x+a2)^2+A*(x+a2)+B)
(a3/a2)^2=2+a2*(2x+A)/a2^2
=2+(2x+A)/sqrt(x^2+Ax+B)
=2+sign(2... 验证Python代码:
from mpmath import *
mp.dps=8
num=5
def ansn(a1,A,B):
S=a1
a=a1
for i in range(2):
an=sqrt(S*S+A*S+B)
S+=an
b=an/a
a=an
print("a,b=",a,b)
f=acos
g=sin
if b>=2:
f=acosh
g=sinh
x=f(b/2)
for i in range(num):
an=sqrt(S*S+A*S+B)
S+=an
bn=a*g(x)/g(x/2**(i+1))
print("an,bn=",an,bn)
ansn(100,-10,1)
ansn(10,-1,2)
运行结果:
Python3IDE(Python 3.7) running!
a,b= 189.81039 2.000666
an,bn= 379.65238 379.65238
an,bn= 759.32057 759.32057
an,bn= 1518.649 1518.649
an,bn= 3037.302 3037.302
an,bn= 6074.606 6074.606
a,b= 19.13744 1.995216
an,bn= 38.251984 38.251984
an,bn= 76.492527 76.492527
an,bn= 152.97933 152.97933
an,bn= 305.95581 305.95581
an,bn= 611.91018 611.91019
Pytho3IDE run end!
利用公式
$1/tanh(x)+1/sinh(x)=(cosh(x)+1)/sinh(x)=1/tanh(x/2)$
$1/tanh^2(x)-1=1/sinh^2(x)$
应该可以给出$B^2-A^2/4<0$时的公式 有意思的数列
前段时间做了这样的题目a(n+1)=sqrt(S(n)^2-S(n)+2)。
更一般性数列a(n),S(n)是数列前n项之和,S(1)=a(1),S(n+1)=S(n)+a(n+1)。
如果有:
a(n+1)=sqrt(S(n)^2+A*S(n)+B),a(1)可以不要求一定大于等于0,A、B是已知常数。
求a(n)。
可以先去掉S(n)得到:
a(n+1)^2=S(n)^2+A*S(n)+B(1)
a(n+2)^2=S(n+1)^2+A*S(n+1)+B (2)
(2)-(1):
a(n+2)^2-a(n+1)^2=(S(n+1)+S(n))*a(n+1)+A*a(n+1)
=(2S(n+1)-a(n+1))*a(n+1)+A*a(n+1)
所以:
2S(n+1)=(a(n+2)^2-A*a(n+1))/a(n+1)(3)
2S(n+2)=(a(n+3)^2-A*a(n+2))/a(n+2) (4)
(4)-(3):
2a(n+2)=a(n+3)^2/a(n+2)-a(n+2)^2/a(n+1)
a(n+3)^2/a(n+2)^2=a(n+2)/a(n+1)+2 (5)
⚠️⚠️⚠️注意这个等式成立条件是n>=1
设a(n+1)/a(n)=b(n),有:
b(n+1)^2=b(n)+2
b(n+1)=sqrt(2+b(n)) (6)
a1=a1
a2=sqrt(a1*a1+A*a1+B)
a3=sqrt((a1+a2)^2+A*(a1+a2)+B)
b1=a3/a2>=0
只要a2、a3符合要求。
1、如果0<=b1<=2
设b(1)=2*cosx
x=acos(b1/2)
cosx=2(cos(x/2))^2-1
所以:
b(n)=2cos(x/2^(n-1))
a(n)=a3*sin(x)/sin(x/2^(n-3)) n>=3
2、如果b1>=2
设b(1)=2*coshx
x=acosh(b1/2)
coshx=2(cosh(x/2))^2-1
所以:
b(n)=2cosh(x/2^(n-1))
a(n)=a3*sinh(x)/sinh(x/2^(n-3)) n>=3
验证Python代码:
from mpmath import *
mp.dps=8
num=5
def ansn(a1,A,B):
S=a1
a=a1
for i in range(2):
an=sqrt(S*S+A*S+B)
S+=an
b=an/a
a=an
print("a,b=",a,b)
f=acos
g=sin
if b>=2:
f=acosh
g=sinh
x=f(b/2)
for i in range(num):
an=sqrt(S*S+A*S+B)
S+=an
bn=a*g(x)/g(x/2**(i+1))
print("an,bn=",an,bn)
ansn(100,-10,1)
ansn(10,-1,2)
我们再来仔细分析一下AB和初值x下a2、a3以及b1=a3/a2的情况。
a1=x
a2=sqrt(x^2+Ax+B)
a3=sqrt((x+a2)^2+A*(x+a2)+B)
(a3/a2)^2=2+a2*(2x+A)/a2^2
=2+(2x+A)/sqrt(x^2+Ax+B)
=2+sign(2x+A)*sqrt(4+(A^2-4B)/(x^2+Ax+B))
(7)
b1=sqrt(2+sign(2x+A)*sqrt(4+(A^2-4B)/(x^2+Ax+B))) (8)
1、如果A^2-4B<0
那么任何初始值x,a2、a3都有意义,且0<b1<2,所以函数用acos和sin。
2、如果A^2-4B=0
如果a1=x<=-A/2,a2=-(x+A/2),an=0 n>=3
如果a1=x>-A/2,a2=x+A/2,an=a2*2^(n-2) n>=2
3、如果A^2-4B>0
x1=-A/2-1/2*sqrt(A^2-4B)
x2=-A/2+1/2*sqrr(A^2-4B)
如果x1<a1=x<x2,a2无意义
如果a1=x=x1或者a1=x=x2,an=0,n>=2
如果a1>x2,b1>2,所以函数用acosh和sinh。
如果a1=x<x1,a2有意义,但a3就一定无意义,上面式子很容易看出(a3/a2)^2<0。
前面an写成a3的表达式,bn倒推一个就可以写成a2的表达式。
页:
[1]