Lección 6 Técnicas numéricas para las Ecuaciones diferenciales de primer orden: Método de Euler 61 Introducción a los métodos numéricos En este capítulo y en los anteriores estamos estudiado algunas técnicas analíticas y geométricas para buscar o comprender el comportamiento de las soluciones de una ecuación diferencial de primer orden En esta sección vamos a discutir algunas técnicas numéricas El cálculo numérico es una especialidad de la matemática cuyo objetivo es formular los problemas matemáticos de tal forma que puedan resolverse mediante operaciones aritméticas Hay muchos tipos de métodos numéricos pero todos ellos comparten una característica común: conllevan la realización de un gran número de cálculos aritméticos Con la extensión del uso de los ordenadores y siendo, como son, cada vez más potentes es imprescindible en cualquier disciplina en la que haya presencia de matemáticas la consideración de la vertiente numérica En el caso de las ecuaciones diferenciales y en el de los problemas en los que éstas están presentes, el cálculo numérico es, si cabe, más importante Ello es debido, entre otras cosas y como ya hemos dicho, a que muy pocas ecuaciones diferenciales se pueden resolver mediante técnicas analíticas y a que las técnicas cualitativas son útiles para saber cómo evolucionan 87
88 Técnicas cualitativas: Campos de pendientes y líneas de fase las soluciones a largo plazo, pero nos proporcionan poca información sobre el valor de una solución en un punto concreto Los métodos numéricos para resolver ecuaciones diferenciales tienen por objetivo conocer de forma aproximada el valor de la solución de una ecuación diferencial dada y, debido a la generalización del uso de los ordenadores y a la aparición de muchos paquetes de programación muy eficientes que automatizan en gran medida el proceso de obtención de soluciones numéricas, son los más utilizados en las ciencias aplicadas y la ingeniería Aún cuando hay procedimientos analíticos y cualitativos relativamente simples se acrecienta la tentación de dejar que el ordenador lo haga No hay nada malo en este modo de proceder siempre que se tengan presentes dos puntos importantes Primero, los ordenadores son muy buenos haciendo operaciones y haciendo gráficas, pero no realizan ninguna interpretación Corresponde al ser humano entender el significado de los datos que aporta la máquina e interpretarlos Y en segundo lugar, los métodos numéricos siempre proporcionan soluciones aproximadas No hay nada malo en ello, también nosostros hacemos la mayoría de los cálculos de forma aproximada El problema está en que los errores que son inherentes al cálculo numérico, por lo general, se incrementan cuanto más nos alejamos del valor inicial Éstos pueden no ser significativos para algunas ecuaciones, pero en otras pueden ser catastróficos En definitiva, no debemos utilizar los programas prediseñados para resolver ecuaciones como si fueran cajas negras en las que se mete la ecuación y sale la solución Esta forma de actuar no sólo no es científica sino que nos puede dar más de un disgusto Debemos poseer un cierto conocimiento de lo que sucede ahí dentro El objetivo de esta sección es discutir el método numérico más elemental: el método de Euler Consideremos entonces el siguiente problema de condición inicial: x = f(t, x, x(t 0 = x 0 (61 Por los teoremas de existencia y unicidad, para que este problema tenga solución única, supondremos que f y f son funciones continuas en un rectángulo R = {(t, x a < t < x b, c < x < d} que contiene al punto (t 0, x 0 Estas hipótesis garantizan que existe un ε > 0 tal que el problema (61 tiene una única solución en el intervalo t 0 ε < t < t 0 + ε; pero no sabemos lo grande o pequeño que es ε En lo que sigue supondremos que ε es lo suficientemente grande como para incluir el intervalo de integración donde se quieren calcular las soluciones de forma aproximada 62 El método de Euler El método de Euler se basa en la idea de aproximar la curva solución de la ecuación diferencial por una poligonal (sucesión de pequeños segmentos pegado cada uno al siguiente que se construye partiendo de la misma idea que nos llevó a la consideración de los campos
62 El método de Euler 89 de pendientes: si x (t 1 = f(t 1, x(t 1 entontes x (t 1 es la pendiente de la recta tangente a la curva solución en el punto (t 1, x(t 1 Con esta idea en mente y partiendo del punto (t 0, x 0, que es el dato inicial del problema (61, podemos calcular la recta tangente a la curva solución en el punto (t 0, x 0 Ésta tiene por ecuación: x x 0 = f(t 0, x 0 (t t 0 Si t 1 está muy próximo a t 0 entonces el valor de la recta tangente en t 1 y el de la curva solución en dicho punto serán muy parecidos Sea x 1 el valor de la recta tangente en el punto t 1 ; es decir, x 1 = x 0 + f(t 0, x 0 (t t 0, y tomemos este valor como el valor verdadero de la curva solución en t 1 Construímos la recta tangente a la curva en (t 1, x 1 : x x 1 = f(t 1, x 1 (t t 1 Hemos escrito recta tangente a la curva porque en realidad no se trata de la recta tangente sino de una aproximación En efecto, el punto (t 1, x 1 está cerca de la curva (suponiendo que t 1 está muy cerca de t 0 pero seguramente no es un punto de la curva (véase la Figura 61 (t 3,x 3 (t 4,x 4 (t 1,x 1 (t 2,x 2 Figura 61: La gráfica de una solución y su aproximación obtenida por el método de Euler (t 0,x 0 A partir del punto (t 1, x 1 obtenemos el punto (t 2, x 2 de la misma forma: tomamos un punto t 2 muy próximo a t 1 y calculamos el valor x 2 = x 1 +f(t 1, x 1 (t 2 t 1 que es el valor, en t 2, de la recta que pasa por (t 1, x 1 con pendiente f(t 1, x 1 A continuación actuamos como si el punto (t 2, x 2 estuviera en la curva solución y calculamos la recta tangente a la curva en dicho punto, y así sucesivamente (Figura 61 Este procedimiento nos permite construir una poligonal que, aparentemente, estará tanto más cerca de la solución cuanto más próximos estén entre sí los puntos t 0, t 1, t 2, etc En la práctica suele suceder que se conoce de antemano el intervalo (a, b donde se quiere calcular la solución y t 0 (a, b También es habitual que se quiera conocer, de forma aproximada, cómo evoluciona la curva en un tiempo futuro; es decir, para t > t 0
90 Técnicas cualitativas: Campos de pendientes y líneas de fase Ésta será nuestra suposición aunque todo lo que digamos vale para conocer, siempre de forma aproximada, la curva solución del problema de condición inicial para t < t 0 Así pues, supondremos que t 0 = a y que en el intervalo (a, b existe una única solución del problema de condición inicial Finalmente, los puntos t 1, t 2, sobre los que se aplica el método de Euler se escogen igualmente espaciados en el intervalo (a, b En consecuencia, se divide el intervalo en, digamos, N subintervalos de longitud h: h = b a N y se toma t 1 = t 0 + h, t 2 = t 1 + h = t 0 + 2h, t 3 = t 2 + h = t 0 + 3h,, t N = t N 1 + h = t 0 + Nh = a + b a = b Al valor N se le llama número de pasos y a h el tamaño de paso del método de Euler Cuanto más pequeño es el tamaño de paso más próximos entre sí están los puntos t 0, t 1, t 2, etc y parece plausible que más próxima estará la poligonal que obtenemos con el método de Euler de la curva solución Una vez que ya tenemos los valores de t 0, t 1,, t N debemos calcular los valores de x 0, x 1,, x N En realidad, como estamos considerando el problema de condición inicial x = f(t, x, x(t 0 = x 0 El valor de x 0 ya lo conocemos Calculamos x 1, x 2, x N por el método de Euler: x x 0 = f(t 0, x 0 (t t 0 x 1 = x 0 + f(t 0, x 0 (t 1 t 0 = x 0 + f(t 0, x 0 h x x 1 = f(t 1, x 1 (t t 1 x 2 = x 1 + f(t 1, x 1 (t 2 t 1 = x 1 + f(t 1, x 1 h x x N 1 = f(t N 1, x N 1 (t t N 1 x N = x N 1 + f(t N 1, x N 1 (t N t N 1 = = x N 1 + f(t N 1, x N 1 h Una vez obtenidos los puntos x 1, x 2,, x N la poligonal que se aproxima a la curva solución se obtiene uniendo los puntos (t 0, x 0, (t 1, x 1, (t 2, x 2,,(t N, x N Podemos resumir el método de Euler en el siguiente esquema o algoritmo Método de Euler para el problema dx dt = f(t, x, x(t 0 = x 0 Dado el intervalo de integración (a, b y el número de pasos N, calcúlese el tamaño de paso h = b a Entonces, sucesivamente para k = 1,, N: N 1- Calcúlese f(t k 1, x k 1 (Nótese que para k = 1, (t k 1, x k 1 = (t 0, x 0 son valores conocidos 2- Calcúlese t k = t k 1 + h = t 0 + kh 3- Calcúlese x k = x k 1 + f(t k 1, x k 1 h
62 El método de Euler 91 k t k x k f(t k, x k 0 0 1 0 1 1/2 1-1 2 1 1/2-1/2 3 3/2 1/4-3/16 4 2 5/32 Tabla 61: Método de Euler para dx dt = 2tx2, x(0 = 1 con h = 0,5 Estos datos se pueden poner en una tabla tal y como se muestra en el siguiente ejemplo Ejemplo 61 - Consideremos el problema de condición inicial dx dt = 2tx2, x(0 = 1 1 x La función f(t, x = 2tx 2 es continua con sus derivadas parciales de cualquier orden respecto de la variable x son continuas Los teoremas de existencia y unicidad nos permiten asegurar que en las proximidades de t 0 existe una solución única 05 0 05 1 15 2 Figura 62: Grafica de la solución del problema de condición inicial dx dt = 2tx2, x(0 = 1 y la aproximación producida por el método de Euler con un tamaño de paso h = 0,5 t Vamos a utilizar el método de Euler para aproximar esta solución en el intervalo 0 t 2 Para poder hacer los cálculos a mano, o con ayuda de una calculadora, vamos a tomar 4 pasos, N = 4 Por lo tanto h = b a N = 2 0 4 = 0,5, el tamaño de paso es 0,5 Entonces t 0 = 0, t 1 = 0,5, t 2 = 1, t 3 = 1,5, t 4 = 2 Además x 0 = 1 x 1 = x 0 + f(t 0, x 0 h = 1 + f(0, 10,5 = 1 x 2 = x 1 + f(t 1, x 1 h = 1 + f(0,5, 10,5 = 1/2 x 3 = x 2 + f(t 2, x 2 h = 0,5 + f(1, 0,5 = 1/4 x 4 = x 3 + f(t 3, x 3 h = 0,25 + f(1,5, 0,250,5 = 5/32 Es conveniente poner estos datos en una tabla (Tabla 61 Para dibujar la poligonal que se aproxima a la curva solución en el intervalo (0, 2 sólo tenemos que unir los puntos (t 0, x 0, (t 1, x 1,(t 2, x 2, (t 3, x 3 y (t 4, x 4 (Figura 62
92 Técnicas cualitativas: Campos de pendientes y líneas de fase Con un tamaño de paso tan grande como h = 0,5 no podemos esperar resultados espectaculares Debemos reducir el tamaño de paso si queremos una mejor aproximación Claro que entonces el número de operaciones a realizar es mucho mayor Por ejemplo, si escogemos h = 0,1 entonces el número de pasos es N = 20 y es éste el número de operaciones a realizar para calcular los valores de x k Si reducimos más aún el tamaño de paso, por ejemplo h = 0,001, el número de pasos aumenta proporcionalmente, en este caso N = 2000 Hacer esto a mano lleva mucho tiempo, aún cuando se disponga de una calculadora Pero el más simple de los ordenadores nos realiza estos cálculos en unas pocas décimas de segundo Las Tablas 62 63 nos dan los resultados que se han obtenido, con seis cifras decimales, utilizando el programa MATLAB Comparando las tres Tablas vemos que los valores aproximados para k t k x k 0 0 1 1 01 1000000 2 02 0980000 3 03 0941584 4 04 0888389 19 19 0210119 20 2 0193342 Tabla 62: Método de Euler para dx dt = 2tx 2, x(0 = 1 con h = 0,1 k t k x k 0 0 1 1 0001 1000000 2 0002 0999998 3 0003 0999994 4 0004 0999988 1999 1999 0200097 2000 2 0199937 Tabla 63: Método de Euler para dx dt = 2tx 2, x(0 = 1 con h = 0,001 la solución, x(t, del problema de condición inicial dx dt = 2tx2, x(0 = 1 en el punto t = 2 son distintos según sea el tamaño de paso que utilicemos Tal y como venimos diciendo, la intuición nos dice que cuanto más pequeño es el tamaño de paso más próximosde la solución verdadera estaremos Par este problema concreto lo podemos comprobar porque al tratarse de unaecuación variables separables la podemos integrar sin ninguna dificultad La solución analítica es: x(t = 1 t 2 + 1 y x(2 = 1 = 0,2 El valor obtenido con h = 0,5 es 5/32 = 0,15625, el obtenido con h = 0,1 es 5 0,193342 y el obtenido con h = 0,001 es 0,199937 Vemos que, en efecto, cuanto más pequeño es el tamaño de paso mayor es la exactitud de la aproximación o, si se quiere, menor es el error que se comete en la aproximación La cuestión que surge de forma natural es si hay alguna relación entre el tamaño de paso h y este error Si denotamos por e h el error que se comete en la aproximación cuando el tamaño de paso es h, de los resultados obtenidos, vemos que e 0,5 = 0,2 0,15625 = 0,04375 e 0,1 = 0,2 0,193342 = 0,006658 e 0,001 = 0,2 0,199937 = 0,000063
62 El método de Euler 93 En general podemos definir el error en la aproximación para t N h = b a siendo (a, b el intervalo de integración: N e h = x(t N x N como (recordemos que donde x(t N es el valor de la solución del problema de condición inicial dado en t N y x N es el valor obtenido por el método de Euler El valor absoluto se utiliza para que el error sea siempre positivo h e h 01 0026320 005 0012547 0025 0006126 00125 0003027 000625 0001505 0003125 0000750 00015625 0000374 000078125 0000187 0000390625 0000094 00001953125 0000047 Tabla 64: Error en el método de Euler para la solución de dx = dt 2tx2, x(0 = 1 para varios valores de h Error 10 1 10 2 10 3 10 4 10 5 10 4 10 3 10 2 10 1 Tamaño de paso Figura 63: Análisis del Error en el método de Euler Si queremos tener una idea más precisa de la relación que existe entre h y e h debemos obtener los resultados de aplicar el método de Euler para varios valores de h y compararlos con el valor verdadero Esto se puede hacer fácilmente con ayuda de, por ejemplo, MATLAB La Tabla 64 muestra los valores de e h para diez valores de h, empezando por h = 0,1 y de forma que cada uno es la mitad del anterior El error que se calcula se refiere al máximo valor de x(t k x k para k = 1,, N (recordamos de nuevo que N depende h por la expresión N = b a y se redondea a seis cifras decimales En la columna e h se observa a simple h vista que cada valor es aproximadamente la mitad del anterior En otras palabras, cuando h disminuye a la mitad también el error disminuye a la mitad De la misma forma se podría comprobar que si h disminuye en un tercio lo mismo sucedería con el error, etc Esto indica que la relación que existe entre el error, e h, y el tamaño de paso, h, es aproximadamente lineal La Figura 63 refleja este hecho En ella se han dibujado los puntos de la Tabla 64 y se han unido con segmentos para comprobar que, en efecto, están sobre una línea recta
94 Técnicas cualitativas: Campos de pendientes y líneas de fase