Student Support Forum: 'Function recursion doubt' topicStudent Support Forum > General > "Function recursion doubt"

 < Previous Comment Help | Reply To Comment | Reply To Topic
 Author Comment/Response Bill Simpson 10/03/12 4:14pm First is a small error and will not fix your problem. At the end of your Module you have -dia]]; tabla]] This should be -dia]]]; tabla] Next is a large error and appears to be the cause of your problem. In your module you have torneo[n/2]; (*here is recursive function When you recursively call torneo[n/2] a new copy of torneo does the calculation and then returns the matrix as the value of the recursive call. You then do nothing with this returned value, you do not use the value to update your matrix, and the result is then discarded. You must decide how to use the value returned from the recursive call. Perhaps you want to use that returned value to modify tabla in your matrix. I cannot be certain. Does this make it clear? This shows an example of recursively creating smaller vectors and then joining the smaller vector to the rest of the original vector. In[1]:= f[n_]:=Module[{tabla}, tabla=Table[0,{n}]; tabla[[n]]=n; If[n>1,tabla=Join[f[n/2],Drop[tabla,n/2]]]; tabla ]; f[16] Out[2]= {1,2,0,4,0,0,0,8,0,0,0,0,0,0,0,16} For a matrix it would be more complex to update the original tabla. URL: ,

 Subject (listing for 'Function recursion doubt') Author Date Posted Function recursion doubt luis 10/03/12 1:15pm Re: Function recursion doubt Bill Simpson 10/03/12 4:14pm
 < Previous Comment Help | Reply To Comment | Reply To Topic