Views
- State: visible
Ejemplo 3 Euler
Ejemplo simple de while.
Size
1.3 kB
-
File type
text/x-objcsrc
File contents
% 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.