作者yishlin (lin)
看板Mathematica
標題[請益] 遞迴函數寫法
時間Tue Oct 7 20:55:36 2014
我是數學系的研究生。各位板上的前輩,拜託幫幫忙,小弟的老板在催了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
→ LPH66: 你這狀況有點麻煩, 因為 v[1,4] 會呼叫 v[2,3] 跟 v[0,5] 10/07 22:53
→ LPH66: v[2,3] 則會呼叫 v[1,4] 跟 v[3,2], 所以就遞迴不完了 10/07 22:53
→ LPH66: 看起來這有點像醉漢走路問題的變種? 10/07 22:54
→ yishlin: 謝謝你認真的幫我想辦法 10/08 09:39