Filter löschen
Filter löschen

Writing a Recursive Function

4 Ansichten (letzte 30 Tage)
Mahmoud Abbas
Mahmoud Abbas am 11 Mär. 2022
Kommentiert: Mathieu NOE am 11 Mär. 2022
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.

Akzeptierte Antwort

Mathieu NOE
Mathieu NOE am 11 Mär. 2022
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,:)
  2 Kommentare
Mahmoud Abbas
Mahmoud Abbas am 11 Mär. 2022
Wow, Thank You!
Mathieu NOE
Mathieu NOE am 11 Mär. 2022
My pleasure !

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Mathieu NOE
Mathieu NOE am 11 Mär. 2022
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)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Produkte


Version

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by