高手帮我啊!Mathematica问题

来源:百度知道 编辑:UC知道 时间:2024/09/23 03:25:31
设数列{xn}由以下递推关系给出,x1=1/2,x(n+1)=xn^2+xn (n=1,2,3...),观察数列1/(x1+1)+1/(x2+1)+....+1/(xn+1)的极限,用Mathematica实现.
谢谢大家了!帮帮我!

这个题太难了,算到n=20的时候就要算12秒了,N越大需要的时间越长,不过估计结果是2
x[n_] := Which[n == 1, 1/2, n > 1, x[n - 1]^2 + x[n - 1]]
NSum[1/(x[n] + 1), {n, 1, 20}] // Timing

{12.969, 2.}
再往下算需要的时间太长了,不过可以肯定的是x[n]在变大,所以其+1后取倒数会是很小的数字,可以忽略
x[10]=2.42176*10^35,所以后面的数已经可以忽略不计了
答案是2

x[1] = 1/2;
x[n_] := x[n - 1]^2 + x[n - 1];
Table[Sum[1./(x[i] + 1), {i, 1, n}] - 2, {n, 1, 10}]

直接复制按Shift+Enter就可以运行出结果了.
如果你不喜欢这个结果你可以用下面的程序,只要你的电脑可以运行下去就能出精确解.
x[1] = 1/2;
x[n_] := x[n - 1]^2 + x[n - 1];
Table[Sum[1/(x[i] + 1), {i, 1, n}] - 2, {n, 1, 10}]