% Se tiene una población cuyo crecimiento se rige por la ecuación: y' = 1.2*y. Si la población
% inicial es de 300 individuos, ¿en qué momento se alcanzan los 2000 individuos? Suponemos que el
% tiempo está medido en años.

% INPUT:  h = paso de Euler.
% OUTPUT: t = vector de tiempos, y = vector que aproxima la solución, hasta el momento en que se llega
%               a los 2000 individuos. Para hallar el tiempo final (en años) debe mirarse t(end).

function [t,y] = ej3_euler(h)

% La dificultad es que como no tengo tf, no sé hasta qué n debo realizar la iteración de Euler.
% Solución:

t(1) = 0; % Defino el tiempo inicial.
y(1) = 300; % Defino la población inicial.

i = 1; % Defino un contador para saber cuántos pasos di.
while y(i) < 2000
    t(i+1) = t(i) +h; % Construcción del vector t.
    y(i+1) = (1+1.2*h)*y(i); % Euler
    i = i+1; % A diferencia del for, el while NO actualiza el contador por sí solo, básicamente porque no necesita un contador.
end

% En este caso, las variables t e y cambian su tamaño cada vez que el programa entra en el while.
% Para correr el programa se puede usar paso h=1/12 (= 1 mes). De este modo, la longitud total de t
% son los meses hasta alcanzar 2000 habitantes. Análogamente, si h=1/365, la longitud de t es la cantidad de días.
