2

各位专家晚上好

我想用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 重写方程?提前致谢

4

3 回答 3

5

这种模式的一个例子是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)}}    
于 2012-02-18T17:18:47.300 回答
1

只需使用

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

删除以下内容:

n > 0
a[0] := 0

a[0] := 0是一个函数定义。 a必须没有关联的定义才能工作RSolve

于 2012-02-18T17:18:19.000 回答
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

于 2012-02-19T13:41:52.970 回答