Diferencia entre revisiones de «Ecuación Logística (método del trapecio)»
(Página creada con «Este artículo explica la resolución de la ecuación logística por el método del trapecio. Este es un método implícito cuya diferencia con el método de Euler es que p...») |
|||
| Línea 26: | Línea 26: | ||
== MATLAB code == | == MATLAB code == | ||
{{matlab|codigo= | {{matlab|codigo= | ||
| − | clear all % antes de | + | clear all % antes de comenzar |
| + | t0=0; tN=4; % el intervalo de tiempo es de 0s a 4s | ||
| + | N=40; h=(tN-t0)/N; %40 intervalos con paso h | ||
| + | y0=1/10; % valor inicial | ||
| + | yy=y0; | ||
| + | y(1)=yy % inicio del bucle | ||
| + | for n=1:N | ||
| + | yy= (1/h)*(0.5*h-1+sqrt((1-0.5*h)^2+4*(h/2)*(yy+0.5*h*yy*(1-yy)))); | ||
| + | y(n+1)=yy; | ||
| + | end | ||
| + | t=t0:h:tN; | ||
| + | plot(t,y,'x') % dibujo de la solución | ||
}} | }} | ||
--[[Usuario:Gonzalo|Gonzalo]] ([[Usuario discusión:Gonzalo|discusión]]) 19:57 8 feb 2013 (CET) | --[[Usuario:Gonzalo|Gonzalo]] ([[Usuario discusión:Gonzalo|discusión]]) 19:57 8 feb 2013 (CET) | ||
Revisión del 20:59 8 feb 2013
Este artículo explica la resolución de la ecuación logística por el método del trapecio. Este es un método implícito cuya diferencia con el método de Euler es que para obtener el siguiente valor de la aproximación a la solución del problema de valor inicial se debe resolver una ecuación algebraica. Este es el principal inconveniente de los métodos implícitos frente a los explícitos.
1 Definición
Usada para simular el crecimiento o decrecimiento de poblaciones, el problema de valor inicial puede definirse como:
[math]y' = y\cdot (1-y), \quad t\in(t_0,\infty) [/math]
[math]y(t_0) = y_0[/math]
Donde, t es el tiempo, [math]y(t)[/math] representa el tamaño de la población y [math]y_0[/math] el tamaño de la población en el instante inicial [math]t=t_0[/math].
2 Esquema numérico
El método del trapecio se define como:
[math] y_0, \; t_0 [/math]
[math]y_{n+1} = y_{n} + h\cdot y_{n}\cdot(1 - y_{n})[/math] [math]y_{n+1} = y_{n} + 0.5\cdot h\cdot [ f(t_{n},y_{n}) + f(t_{n+1},y_{n+1} ][/math]
La ecuación algebraica a resolver sería:
[math]y_{n+1} = y_{n} + 0.5\cdot h\cdot [ y_{n}\cdot(1 - y_{n}) + y_{n+1}\cdot(1 - y_{n+1}) ][/math]
3 MATLAB code
clear all % antes de comenzar
t0=0; tN=4; % el intervalo de tiempo es de 0s a 4s
N=40; h=(tN-t0)/N; %40 intervalos con paso h
y0=1/10; % valor inicial
yy=y0;
y(1)=yy % inicio del bucle
for n=1:N
yy= (1/h)*(0.5*h-1+sqrt((1-0.5*h)^2+4*(h/2)*(yy+0.5*h*yy*(1-yy))));
y(n+1)=yy;
end
t=t0:h:tN;
plot(t,y,'x') % dibujo de la solución