[请益] 递回函数写法

楼主: 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