Writing a Recursive Function
    2 次查看(过去 30 天)
  
       显示 更早的评论
    
I am having trouble writing a recursive function that calculates the value of N(i,p)
for example, to calculate N(0,2), I need the values of N(0,1) and N(1,1). Then each of those will need the values of the lower nodes in the tree as shown below. The value of any N(i,0)=1.

0 个评论
采纳的回答
  Mathieu NOE
      
 2022-3-11
        hello 
see below 
Nb : matlab is not a zero based indexing language , so first index is 1 instead of 0 
%% initialisation 
n = 5;
N = zeros(n,n);
N(1,1:n)  = 1; % (all N(i,0) = 1)
%% main loop
for p = 2:n
    ind_i = 1:1+n-p; % index of i is function of p (it reduces as index p increases)
    N(p,ind_i) = N(p-1,ind_i) + N(p-1,ind_i+1);
end
% display lines in reversed order 
N = N(n:-1:1,:)
更多回答(1 个)
  Mathieu NOE
      
 2022-3-11
        the results appears like this for n = 5 
N =
    16     0     0     0     0
     8     8     0     0     0
     4     4     4     0     0
     2     2     2     2     0
     1     1     1     1     1
the bottom line is the starting values (Ni,o = 1)
0 个评论
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

