2011-02-09 30 views
3

的解析解我有復發,如下列:如何解決的遞推關係的數學

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

我試圖用RSolve,但我得到了一個錯誤:

RSolve::deqx: Supplied equations are not difference equations 
       of the given functions. 

感謝你的幫助!

+0

我不知道mathematica,但最後兩個條目看起來不像方程對我... – btilly 2011-02-09 01:59:20

+0

@btilly:你在這裏是什麼意思?我正試圖給出遞歸關係的邊界條件。 – 2011-02-09 02:32:26

+0

@只有RSolve中的最後兩個條目是解決和自由變量的函數。正如@亞歷克西指出的那樣,最後一個應該是{m,n}。 – Simon 2011-02-09 05:42:42

回答

2

不是問題的答案,但它似乎是正確的形式應該是(注意:{m, n}末):

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

數學離開這個未評估。我認爲它不能解決這個問題。

9

差分方程和初始條件是 difference equation

的Mathematica(7和8)不喜歡解決它...具有和不具有初始條件。該RSolve表達式留下未評估

In[1]:= RSolve[{f[m,n]==f[m,n-1]+f[m-1,n],f[0,n]==f[m,0]==1},f[m,n],{m,n}] 
     RSolve[{f[m,n]==f[m,n-1]+f[m-1,n]},f[m,n],{m,n}] 
Out[1]= RSolve[{f[m,n]==f[-1+m,n]+f[m,-1+n],f[0,n]==f[m,0]==1},f[m,n],{m,n}] 
Out[2]= RSolve[{f[m,n]==f[-1+m,n]+f[m,-1+n]},f[m,n],{m,n}] 

know that Mathematica使用generating functional methods(可能是除其他事項外)來解決這樣的復發,但我不知道爲什麼在這樣一個簡單的情況下失敗。

所以讓我們手工完成。

令G(X,N)是f的生成函數(M,N)
enter image description here

現在檢查f的總和(M + 1,N)的x ^米 enter image description here

現在解決簡單的代數,差分方程: enter image description here

也可與RSolve

完成

現在提取的X ^係數m:

In[5]:= SeriesCoefficient[(1 - x)^(-1 - n), {x, 0, m}] 
Out[5]= Piecewise[{{(-1)^m*Binomial[-1 - n, m], m >= 0}}, 0] 

二項式使用

In[6]:= FullSimplify[(-1)^m*Binomial[-n - 1, m] == Binomial[m + n, m], Element[{n,m}, Integers]&&m>0&&n>0 ] 
Out[6]= True 

所以簡化我們終於得到 Results!

這可以用符號和數字進行檢查意味着

In[7]:= ff[m_,n_]:=ff[m,n]=ff[m-1,n]+ff[m,n-1] 
     ff[0,_]:=1;ff[_,0]:=1 
In[9]:= [email protected]@Flatten[Table[ff[m,n]==Binomial[n+m,m],{n,0,20},{m,0,20}]] 
Out[9]= True 

In[10]:= {f[m,n]==f[m,n-1]+f[m-1,n],f[0,n]==f[m,0]==1}/.f->(Binomial[#1+#2,#1]&)//FullSimplify 
Out[10]= {True,True}