2011-02-11 39 views
0

我已經定義怎麼辦替代N-1-> n的MMA

Subscript[S,n]=Subscript[X,n]+Subscript[S,n-1] 

對於表達:

3*n^2 – 6* n* Subscript[S, -1 + n] ^2 

我想做n-1->n,但似乎

3*n^2 – 6* n* Subscript[S, -1 + n] ^2/. {n-1->n} 

這樣我得到了

3 n^2 - 6 n (Subscript[S, -1 + n] + Subscript[X, n])^2 

不會做我想要的。我想3*n^2被改寫爲等效採用n-1,在這種情況下,3*(n-1)^2+6*(n-1)+3,然後做替換獲得3*n^2+6*n+3

總的來說,我想有:

3*n^2+6*n+3+6*n*Subscript[S, n] ^2+6* Subscript[S, n] ^2 

即我也不想mma在最終結果中展開Subscript[S, n]

如何在mma中自動執行此操作?

非常感謝。

+1

爲什麼你定義Xn如果你不希望它在你的最終結果? ...我不明白。 – 2011-02-11 05:19:32

+0

@belisarius:不知何故,當我獲得'3 * n^2 - 6 * n *下標[S,-1 + n]^2`後,我就再也沒有X_n了。 – 2011-02-11 06:16:46

回答

1

我不知道爲什麼你的初始定義...

它看起來像你想要的(除了一些跡象)的結果如下,從簡單

In[1]:= (3n^2-6 n Subsuperscript[S, n-1, 2])/.n->n+1//Expand 
Out[1]= 3 n^2 + 6 n + 3 - 6 n Subscript[S, n]^2 - 6 Subscript[S, n]^2 

至於不在最終結果中擴展出下標條款,也許你想要類似於

Collect[%1, Subscript[__], Factor]