答案:1 - 2/(1 + 3^2^(n - 1))
我是借助 Mathematica 来求解的,因为中间计算很繁琐,且有一步我也不太会.首先算出这个数列的前几项:
f[n_] := If[n == 1, 1/2, 2 f[n - 1]/(1 + f[n - 1]^2)]
s = Table[f[k], {k, 1, 5}]
输出:
{1/2, 4/5, 40/41, 3280/3281, 21523360/21523361}
这个时候我发现分子比分母小1
于是我假定 f[n] = p[n]/(p[n]+1),这一步可以用数学归纳法来证明,下面的Mathematica代码给出验证结果.
f = (-1 + p)/p
2 f/(1 + f^2) // FullSimplify
输出结果
(2 (-1 + p) p)/(1 + 2 (-1 + p) p) 分母确实比分子大1
这个时候,我欲求f[n],就转换为求p[n]
根据f[n]与f[n-1]的关系式,把p[n]带入得到
p[n]/(1 + p[n]) = (2 p[n - 1]/(1 + p[n - 1]))/(1 + (p[n - 1]/(1 + p[n - 1]))^2)
这个可以解得p[n]与p[n-1]的关系式:
p[n] = 2 (p[n-1] + p[n-1]^2) = 2 * p[n-1] * ( 1 + p[n-1] )
对上面式子右边进行配方得:
p[n] = 2 (p[n-1] + 1/2)^2 - 1/2
再代换一步
q[n] = p[n]+1/2
就得到了
q[n] = 2 q[n-1]^2
通过查书得知,这种叫非线性递归方程,一般是很难有解的,有的情况还会导致混沌现象.但是万幸,你这个情况是有解的.一般来说,递归方程:
a[n] == k*a[n - 1]^2
两边取对数之后变成:
log( a[n] ) = log(k) + 2 log(a[n-1])
可以解出它的通解为:(注意从这里开始都是幂指数的幂指数)
a[n] = E^(2^n C)/k 这里C为一个待定常数
因此我们这里的q[n] = a[n] = E^(2^n C)/2, 且q[1] = p[1]+1/2 = 1+1/2 = 3/2
C=Log[3]/2
带入化简得到:
q[n] = (3^2^(n-1))/2
从而p[n] = (3^2^(n-1))/2-1/2
f[n] = p[n]/(p[n]+1) = ((3^2^(n-1))-1)/((3^2^(n-1))+1) 或者 1 - 2/(1 + 3^2^(n - 1))
中间计算太繁琐了,有可能有不对的地方,但最后的通项公式我是编程验证过的,没有问题.
Mathematica程序验证一下:
Table[((3^2^(n - 1)) - 1)/((3^2^(n - 1)) + 1), {n, 1, 10}]
note:
关于这个问题,我一开始觉得这个递推表达式跟某个三角函数的公式很像,但是推了半天无功而返.但是后来我用Mathematica来求解的时候发现,直接求解f[n]得不到解,但求p[n]有解,而且在复数域还有一个解,这说明这个通项公式可以用三角函数来表示.看来也许真的可以用三角函数的公式来巧妙求解,只不过我的功力粗浅,无法完成了.