[請益] 遞迴函數寫法

看板Mathematica作者 (lin)時間10年前 (2014/10/07 20:55), 編輯推噓0(004)
留言4則, 2人參與, 最新討論串1/1
我是數學系的研究生。各位板上的前輩,拜託幫幫忙,小弟的老板在催了T_T 我想要用Mathematica了解以下這個函數的性質。例如:V[w,b],w=1,2,..10及 b=1,2,.10 小弟的程式碼如下: v[0, a_] := a; v[c_, 0] = 0; v[w_, b_] := Piecewise[{{v[w - 1, b], w >= b && b > 0}, {w/(w + b)*v[w + 1, b - 1] + b/(w + b)*v[w - 1, b + 1], w < b && w > 0}}]; 當 b 小於等於 3 時,我可以得到 v[w,b] 的值;若 b 是 4 以上,電腦會回覆我: $RecursionLimit::reclim: Recursion depth of 256 exceeded. 請求板上高手協助。 再請教各位前輩,若我要將 v[w,b] 的數值用矩陣呈現,該如何作呢? 萬分感謝大家的幫忙。謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.246.1.195 ※ 文章網址: http://www.ptt.cc/bbs/Mathematica/M.1412686539.A.84E.html

10/07 22:53, , 1F
你這狀況有點麻煩, 因為 v[1,4] 會呼叫 v[2,3] 跟 v[0,5]
10/07 22:53, 1F

10/07 22:53, , 2F
v[2,3] 則會呼叫 v[1,4] 跟 v[3,2], 所以就遞迴不完了
10/07 22:53, 2F

10/07 22:54, , 3F
看起來這有點像醉漢走路問題的變種?
10/07 22:54, 3F

10/08 09:39, , 4F
謝謝你認真的幫我想辦法
10/08 09:39, 4F
文章代碼(AID): #1KC-BBXE (Mathematica)
文章代碼(AID): #1KC-BBXE (Mathematica)