使用Mathematica求解递归关系

时间:2012-02-18 17:04:25

标签: wolfram-mathematica recurrence

晚上好,专家

我想用mathematica来解决递归方程,

x(n) = x(n − 1) + n 
for n > 0, 
    x(0) = 0

我需要找到x(1),x(2),x,(3)

这是我的输入,它给了我错误

n > 0
a[0] := 0
RSolve[x == a[n - 1] + n, a[n], n]

如何使用mathematica重写等式? 提前致谢

3 个答案:

答案 0 :(得分:5)

这种模式的一个例子是the documentation for RSolve中的第二个例子:

  

包含边界条件:

In[1]:= RSolve[{a[n + 1] - 2 a[n] == 1, a[0] == 1}, a[n], n]

Out[1]= {{a[n] -> -1 + 2^(1 + n)}}

对于您的问题,那就是:

In[1]:= RSolve[{a[n] == a[n - 1] + n, a[0] == 0}, a[n], n]

Out[1]= {{a[n] -> 1/2 n (1 + n)}}    

答案 1 :(得分:1)

只需使用

RSolve[{a[n] == a[n - 1] + n, a[0] == 0}, a[n], n]

删除以下内容:

n > 0
a[0] := 0

a[0] := 0是一个函数定义。 a

中,RSolve必须没有关联的定义才能使用{{1}}

答案 2 :(得分:1)

如果要查找x(1),x(2),x(3),可以使用RecurrenceTable

RecurrenceTable[{x[n] == x[n - 1] + n, x[0] == 0}, x[n], {n, 3}]

{0,1,3,6}

x(1)= 1,x(2)= 3,x(3)= 6