Escolar Documentos
Profissional Documentos
Cultura Documentos
Para resolver la recursión se necesita conocer los valores con los que comienza (condiciones iniciales).
Ejemplo:
m=10;
a=1;
n=1;
s = "a"+n+" = "+a;
disp(s)
a1 = 1
for n = 2:m
a_prev=a;
a=a_prev+1;
s = "a"+n+" = "+a;
disp(s)
end
a2 = 2
a3 = 3
a4 = 4
a5 = 5
a6 = 6
a7 = 7
a8 = 8
a9 = 9
a10 = 10
Ejemplos:
m=10;
a=1;
n=1;
s = "a"+n+" = "+a;
disp(s)
1
a1 = 1
for n = 2:m
a_prev=a;
a=a_prev+2;
s = "a"+n+" = "+a;
disp(s)
end
a2 = 3
a3 = 5
a4 = 7
a5 = 9
a6 = 11
a7 = 13
a8 = 15
a9 = 17
a10 = 19
m=10;
a=2;
n=1;
s = "a"+n+" = "+a;
disp(s)
a1 = 2
for n = 2:m
a_prev=a;
a=a_prev+2;
s = "a"+n+" = "+a;
disp(s)
end
a2 = 4
a3 = 6
a4 = 8
a5 = 10
a6 = 12
a7 = 14
a8 = 16
a9 = 18
a10 = 20
m=10;
a=3;
2
n=1;
s = "a"+n+" = "+a;
disp(s)
a1 = 3
for n = 2:m
a_prev=a;
a=a_prev+5;
s = "a"+n+" = "+a;
disp(s)
end
a2 = 8
a3 = 13
a4 = 18
a5 = 23
a6 = 28
a7 = 33
a8 = 38
a9 = 43
a10 = 48
m=10;
a=2;
n=1;
s = "a"+n+" = "+a;
disp(s)
a1 = 2
for n = 2:m
a_prev=a;
a=2*a_prev;
s = "a"+n+" = "+a;
disp(s)
end
a2 = 4
a3 = 8
a4 = 16
a5 = 32
a6 = 64
a7 = 128
a8 = 256
a9 = 512
a10 = 1024
3
Ejemplo:
En la sucesion de Fibonacci, cada término es la suma de los dos anteriores.
m=10;
f1=1;
f2=1;
n=1;
s = "f"+n+" = "+f1;
disp(s)
f1 = 1
n=2;
s = "f"+n+" = "+f2;
disp(s)
f2 = 1
for n = 3:m
f=f2+f1;
f1=f2;
f2=f;
s = "f"+n+" = "+f;
disp(s)
end
f3 = 2
f4 = 3
f5 = 5
f6 = 8
f7 = 13
f8 = 21
f9 = 34
f10 = 55
Aunque la fórmula directa nos permite calcular directamente cualquier elemento de una sucesión, a veces
representar la sucesión de forma recursiva es más claro y elegante.
Por ejemplo, la fórmula directa de la sucesión de Fibonacci está dada por la fórmula de Binet.
n=10;
sqr5=sqrt(5);
f=((1+sqr5)^n-(1-sqr5)^n)/((2^n)*(sqr5));
4
s = "f"+n+" = "+f;
disp(s)
f10 = 55
En este caso la forma recursiva es más facil de entender que la fórmula directa, pero hay que calcular todos los
casos previos.
Ejemplos:
m=10;
a1=1;
a2=2;
n=1;
s = "a"+n+" = "+a1;
disp(s)
a1 = 1
n=2;
s = "a"+n+" = "+a2;
disp(s)
a2 = 2
for n = 3:m
a=a2-a1;
a1=a2;
a2=a;
s = "a"+n+" = "+a;
disp(s)
end
a3 = 1
a4 = -1
a5 = -2
a6 = -1
a7 = 1
a8 = 2
a9 = 1
a10 = -1
m=10;
a1=0;
a2=-2;
5
n=1;
s = "a"+n+" = "+a1;
disp(s)
a1 = 0
n=2;
s = "a"+n+" = "+a2;
disp(s)
a2 = -2
for n = 3:m
a=2*a2+a1;
a1=a2;
a2=a;
s = "a"+n+" = "+a;
disp(s)
end
a3 = -4
a4 = -10
a5 = -24
a6 = -58
a7 = -140
a8 = -338
a9 = -816
a10 = -1970