Capítulo III: Métodos Numéricos para Resolver Ecuaciones Diferenciales Ordinarias
sobre la exactitud. Para proporcionar una introducción a estos problemas, se comienza con el Método Numérico más simple, el Método Méto do de Euler Eule r [10]. [10]. A continuación se present pres entan an los l os Méto Métodos dos Numérico Numé ricoss para resolver ecuaciones diferenciales.
MÉTODO DE EULER [10, 12, 25] El Méto El Método do de Euler Eul er es es el algoritmo más simple para obtener la solución numérica de ecuaciones diferenciales. Generalmente da menos exactitud en el resultado pero proporci prop orciona ona una base bas e para el entendi ente ndimien miento to de métodos méto dos más sofistic sofi sticado ados. s. Se conside con sidera ra la siguiente ecuación 3.2.1:
= (, ), (0) =
3.2.1
donde (, ) es una función conocida y es la condición inicial, la cual está dada por
() en = 0 . Desde la definición de la derivada, ecuación 3.2.2: ( ∆ ) () = lim ∆→ ∆
3.2.2
Si el incremento de tiempo ∆ es lo suficientemente pequeño, la derivada puede ser sustituida por la expresión aproximada aproximada que se muestra en la ecuación 3.2.3:
≈
( ∆) () 3.2.3
∆
Si se utiliza la ecuación 3.2.3 para sustituirla en la ecuación 3.2.1 se puede obtener la siguiente ecuación de aproximación:
( ∆) ∆) ( ( ) ∆
= (, (, )
o al reorganizar, obtener la ecuación 3.2.4:
( ∆ ) = () (, (, )∆ 3.2.4
49
Capítulo III: Métodos Numéricos para Resolver Ecuaciones Diferenciales Ordinarias
asumiendo que el lado derecho de la ecuación 3.2.1 permanece constante sobre todo el intervalo de tiempo (, ∆). Entonces, ahora la ecuación 3.2.4 puede ser escrita en una forma más conveniente, la ecuación 3.2.5:
(+ ) = ( ) [ ,( )]∆
3.2.5
donde + = ∆ . Cuanto menor es ∆, más exactas son las dos suposiciones que conducen a la ecuación 3.2.5. Esta fórmula se conoce como el Método de Euler (o de Euler-Cauchy o de punto pendiente). El incremento de tiempo ∆ es llamado Tamaño de Paso. La notación puede ser cambiada para aclarar el método. Dejando a = ( ) y
ℎ = ∆ . La ecuación queda como se muestra en la ecuación 3.2.6: + = ( , )ℎ
3.2.6
Nuevo valor = valor anterior + pendiente * tamaño de paso En la Figura 3.2.1 se puede apreciar gráficamente el método. Se predice un nuevo valor de y usando la pendiente (igual a la primera derivada en el valor original de x) para extrapolar linealmente sobre el tamaño de paso h. La exactitud del Método de Euler puede ser mejorada emp leando un tamaño de paso más pequeño. Sin embargo, a tamaños de paso muy pequeños se le requiere mayor cantidad de iteraciones y puede resultar en una larga acumulación de error debido a los efectos de redondeo como se verá más adelante. Por lo que en general se buscan mejores algoritmos para emplear en aplicaciones más desafiantes.
Figura 3.2.1 Método de Euler. Fuente: [12].
50
Capítulo III: Métodos Numéricos para Resolver Ecuaciones Diferenciales Ordinarias
La ecuación 3.2.7 puede ser aplicada sucesivamente en los tiempos colocándola dentro de un ciclo for . Por ejemplo, el siguiente M-archivo tipo script resuelve la ecuación diferencial ̇ () = () y grafica la solución sobre el intervalo 0 ≤ ≤ 0.5 para el caso donde = 10 y la condición inicial es (0) = 2. La constante de tiempo es = 1⁄ = 0.1. La solución encontrada a través de métodos analíticos es () =
2 − . Para ilustrar el efecto del tamaño de paso sobre la exactitud de la solución, se utiliza un tamaño de paso de ∆ = 0.02, el cuál es el 20 por ciento de la constante de tiempo.
r=-10; delta=0.02; y(1)=2; k=0; for time=[delta:delta:0.5] k=k+1; y(k+1)=y(k)+r*y(k)*delta; end t=[0:delta:0.5]; y_true=2*exp(-10*t);
La Figura 3.2.2 muestra el resultado. La solución numérica es mostrada por medio de los pequeños círculos y la solución verdadera (solución analítica) por la línea sólida. Hay algunos errores notables. Si es utilizado un tamaño de paso igual al 5 por ciento de la constante de tiempo, el error no podría ser notable sobre la gráfica.
51
Capítulo III: Métodos Numéricos para Resolver Ecuaciones Diferenciales Ordinarias
Figura 3.2.2.
La solución por el Método de Euler para la respuesta libre de la ecuación ̇ = 10 con la condición inicial (0) = 2. Fuente: Elaboración propia.
Los métodos numéricos tienen su mayor error cuando intentan obtener soluciones que están cambiando rápidamente. Los cambios rápidos pueden ser debido a una pequeña constante de tiempo de oscilación. Para ilustrar las dificultades causadas por una solución oscilante, considere la siguiente ecuación 3.2.7:
̇ = sin
3.2.7
con la condición inicial (0) = 0 en el intervalo 0 ≤ ≤ 4 . La solución encontrada a través de métodos analíticos es () = 1 cos , y su periodo es 2. Para comparar los resultados con los que se obtendrán desde la función
ode23 que será utilizada más adelante, se emplea un tamaño de paso igual a 1⁄13 del periodo, es decir, ∆ = 2⁄13. El M-archivo tipo script programado es el siguiente: 52
Capítulo III: Métodos Numéricos para Resolver Ecuaciones Diferenciales Ordinarias
delta=2*pi/13; y(1)=0; k=0; for time=[delta:delta:4*pi] k=k+1; y(k+1)=y(k)+sin(time-delta)*delta; end t_true=[0:delta/10:4*pi]; y_true=1-cos(t_true); t=[0:delta:4*pi];
Los resultados se pueden observar en la Figura 3.2.3, donde la solución numérica es mostrada por medio de los pequeños círculos y la solución verdadera (solución analítica) por la línea sólida. Se puede ver que existe un error notable, especialmente cerca de los picos y valles, que es donde la solución cambia más rápido.
Figura 3.2.3. Solución por el Método de Euler de la ecuación ̇ = sin , con la condición inicial (0) = 0 . Fuente: Elaboración propia.
53