| 
June 30th, 2009, 01:18 AM
| | Newbie | | Join Date: Jun 2009
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
| | A Recursive Function Problem in Mathematica Hello,
I have the following recursive function:
where
and I tried to write it using Mathematica as following: Code: fun[m_,n_,r_]:=If [m<=r<=n,1,0];
B[0,j_,N_]:=1;
B[1,j_,N_]:=j;
B[k_,1,N_]:=1/k!; B[k_,j_,N_]:=Sum[B[l,j-1,N]/Factorial[k-l]×fun[0,((j-1)×(N-1)),l],{l,l=k-N+1,k}]
I have this function programmed well in MATLAB, and I use it as a reference to check the Mathematica code which fails to give correct answers. Can anyone tell me where is the error in the Mathematica code? Hint: If you write at Mathematica B[3,3,3] it must give you 4, B[2,3,3] = 4.5, B[4,4,4]=10.5 as given by using the MATLAB code.
Thanks in advance | 
July 1st, 2009, 04:15 PM
| | Super Member | | Join Date: Aug 2008
Posts: 598
Country: Thanks: 46
Thanked 261 Times in 226 Posts
| | (didn't need the l= syntax): Code: In[1397]:= fun[m_, n_, r_] := If[m <= r <= n, 1, 0];
B[0, j_, n_] = 1;
B[1, j_, n_] = j;
B[k_, 1, n_] = 1/k!;
B[k_, j_, n_] :=
Sum[B[l, j - 1, n]/Factorial[k - l]*fun[0, (j - 1) (n - 1), l], {l,
k - n + 1, k}]
B[3, 3, 3]
B[2, 3, 3]
B[4, 4, 4]
Out[1402]= 4
Out[1403]= 9/2
Out[1404]= 21/2
__________________ "I am beset by the ironies in my life" | 
July 1st, 2009, 04:20 PM
| | Newbie | | Join Date: Jun 2009
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
| | Quote:
Originally Posted by shawsend (didn't need the l= syntax): Code: In[1397]:= fun[m_, n_, r_] := If[m <= r <= n, 1, 0];
B[0, j_, n_] = 1;
B[1, j_, n_] = j;
B[k_, 1, n_] = 1/k!;
B[k_, j_, n_] :=
Sum[B[l, j - 1, n]/Factorial[k - l]*fun[0, (j - 1) (n - 1), l], {l,
k - n + 1, k}]
B[3, 3, 3]
B[2, 3, 3]
B[4, 4, 4]
Out[1402]= 4
Out[1403]= 9/2
Out[1404]= 21/2
| Thank you very much, I didn't notice that at all.
Thank you again. | | Thread Tools | | | | Display Modes | Linear Mode |
Posting Rules
| You may not post new threads You may not post replies You may not post attachments You may not edit your posts HTML code is Off | | | All times are GMT -7. The time now is 02:34 AM. | | |