Borrar filtros
Borrar filtros

Writing a Recursive Function

4 visualizaciones (últimos 30 días)
Mahmoud Abbas
Mahmoud Abbas el 11 de Mzo. de 2022
Comentada: Mathieu NOE el 11 de Mzo. de 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.

Respuesta aceptada

Mathieu NOE
Mathieu NOE el 11 de Mzo. de 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 comentarios
Mahmoud Abbas
Mahmoud Abbas el 11 de Mzo. de 2022
Wow, Thank You!
Mathieu NOE
Mathieu NOE el 11 de Mzo. de 2022
My pleasure !

Iniciar sesión para comentar.

Más respuestas (1)

Mathieu NOE
Mathieu NOE el 11 de Mzo. de 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)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by