[請益] 遞迴函數寫法

作者: yishlin (lin)   2014-10-07 20:55:36
我是數學系的研究生。各位板上的前輩,拜託幫幫忙,小弟的老板在催了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] 的數值用矩陣呈現,該如何作呢?
萬分感謝大家的幫忙。謝謝。
作者: LPH66 (-6.2598534e+18f)   2014-10-07 22:53:00
你這狀況有點麻煩, 因為 v[1,4] 會呼叫 v[2,3] 跟 v[0,5]v[2,3] 則會呼叫 v[1,4] 跟 v[3,2], 所以就遞迴不完了看起來這有點像醉漢走路問題的變種?
作者: yishlin (lin)   2014-10-08 09:39:00
謝謝你認真的幫我想辦法

Links booklink

Contact Us: admin [ a t ] ucptt.com