Решение рекуррентных отношений с использованием Mathematica - PullRequest
2 голосов
/ 18 февраля 2012

Добрый вечер, эксперты

Я хочу решить уравнение повторения, используя mathematica,

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

И мне нужно найти х (1), х (2), х, (3)

Это мой ввод, и он дает мне ошибки

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

Как я могу переписать уравнение, используя mathematica? Заранее спасибо

Ответы [ 3 ]

5 голосов
/ 18 февраля 2012

Примером этого самого паттерна является 2-й пример в документации для 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 голос
/ 19 февраля 2012

Если вы хотите найти 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

1 голос
/ 18 февраля 2012

Просто используйте

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

Удалить следующее:

n > 0
a[0] := 0

a[0] := 0 - это определение функции. a не должно иметь связанных определений для работы в RSolve

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...