Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Cálculo Numérico – Programación Aplicada 2009 Ing. Adriana Apaza – JTP Cálculo Numérico 1 ECUACIONES DIFERENCIALES Las ecuaciones, compuestas de una función incógnita y su derivada, se conocen como ecuaciones diferenciales. Estas ecuaciones juegan un papel muy importante en la ingeniería ya que muchos fenómenos físicos se formulan matemáticamente en términos de su cambio proporcional o razones de cambio. Ejemplos : 4 5 )60(27.0 −−= u dt du , ecuación que describe (aproximadamente) la razón de cambio de la temperatura u de un cuerpo que pierde calor por convección natural con un entorno de temperatura cambiante. kx dt dx −= , es la ecuación de la desintegración radioactiva; la velocidad de desintegración es proporcional a la cantidad de sustancia no desintegrada En la ecuación diferencial, a la cantidad que se va a diferenciar, se le conoce con el nombre de variable dependiente . A la cantidad respecto a la cual se va derivar se la llama variable independiente . Cuando la función incluye una variable independiente, se llama ecuación diferencial ordinaria , que están en contraste con las ecuaciones diferenciales parciales que comprenden dos o más variables independientes. También se las clasifica por su orden , y está dado por el orden de la derivada (o de la diferencial) máxima de la función desconocida que figura en la ecuación. El grado de una ecuación diferencial ordinaria no trascendente, es el grado algebraico de la derivada que determina el orden de la ecuación diferencial. La solución de una ecuación diferencial es la función que satisface la ecuación diferencial y también ciertas condiciones iniciales sobre la función. Al resolver analíticamente una ecuación diferencial suele encontrarse una solución general que contiene constantes arbitrarias y luego se evalúan las constantes arbitrarias de modo que la expresión coincida con las condiciones iniciales. Los métodos analíticos están limitados a ciertas formas especiales de ecuaciones. Los métodos numéricos no tienen tales limitaciones a sólo formas estándares. No obstante, la solución se obtiene como una tabulación de los valores de la función en varios valores de la variable independiente, y no como una relación funcional, y si cambian las condiciones iniciales es necesario volver a calcular toda la tabla. El método de la serie de Taylor No es estrictamente un método numérico, aunque algunas veces se usa junto con los esquemas numéricos, es de aplicabilidad general. Ejemplo : ,2 yx dx dy −−= 1)0( −=y Cálculo Numérico – Programación Aplicada 2009 Ing. Adriana Apaza – JTP Cálculo Numérico 2 (La solución analítica, 223)( +−−= − xxexy x se obtiene inmediatamente al aplicar métodos estándares). La relación entre x e y se obtiene al encontrar los coeficientes de la serie de Taylor en que se desarrolla y con respecto al punto x = x0 : K+− ′′′ +− ′′ +−′+= 30 02 0 0 000 )(!3 )( )( !2 )( ))(()()( xx xy xx xy xxxyxyxy Debido a que )( 0xy es la condición inicial, el primer término se conoce a partir de la condición inicial 1)0( −=y . Como el desarrollo es alrededor del punto ,0=x en este ejemplo la serie de Taylor es en realidad la serie de Maclaurin. El coeficiente del segundo término se obtiene al sustituir 1,0 −== yx en la ecuación de la primera derivada )1()0(2)0()( 0 −−−=′=′ yxy =1 Las derivadas de segundo orden y superior se obtienen al derivar sucesivamente la ecuación de la primera derivada, y se evalúan de manera correspondiente a 0=x para obtener los diversos coeficientes: yxy ′−−=′′ 2)( , 312)0( −=−−=′′y yxy ′′−=′′′ )( , 3)0( =′′′y ( ) 3)(4 −−=xy Luego, se escribe la solución de la serie para y, al hacer que x sea el valor en que desea determinarse errorxxxxxy +−+−+−= 432 !4 3 !3 3 !2 3 11)( La solución de la ecuación diferencial yxy −−=′ 2 , donde 1)0( −=y , se da en la tabla siguiente x y y, analítica 0.0 -1.00000 -1.00000 0.1 -0.91451 -0.91451 0.2 -0.85620 -0.85619 0.3 -0.82251 -0.82245 0.4 -0.81120 -0.81096 0.5 -0.82031 -0.81959 Cuando se trunca una serie de Taylor convergente, es fácil expresar el error. Simplemente se toma el término siguiente y la derivada se evalúa en el punto ξ, 0 < ξ < x, en vez de hacerlo en el punto 0=x . Entonces para nuestro ejemplo 5 )5( !5 x y Error = , 0 < ξ < x yxy −−=′ 2 ( ) yxy ′′′−=)(4 Cálculo Numérico – Programación Aplicada 2009 Ing. Adriana Apaza – JTP Cálculo Numérico 3 Sin embargo, esto no puede calcularse, ya que evaluar la derivada en x = ξ es imposible con ξ desconocido. El número de términos de la serie de Taylor que debe incluirse es cuestión de criterio y experiencia. Normalmente se trunca la serie de Taylor cuando la contribución del último término es despreciable hasta el número de cifras decimales hasta las que se está trabajando. No obstante, esto es correcto sólo cuando los términos sucesores se hacen pequeños suficientemente rápido, en algunos casos es importante la suma de los muchos términos pequeños despreciados. La serie de Taylor se aplica fácilmente a una ecuación de orden superior. Método de Euler : El método de la serie de Taylor puede ser difícil de aplicar si las derivadas se complican y en este caso es difícil determinar el error. El objetivo del método de Euler es obtener una aproximación al problema de valor inicial ),,( yxf dx dy = ,bxa ≤≤ α=)(ay Se generarán aproximaciones de y en varios puntos, llamados puntos de red, en el intervalo [a, b]. Hacemos la suposición de que los puntos de red están distribuidos uniformemente sobre el intervalo [a, b], para ello escogemos un entero positivo N y seleccionando los puntos de red { }Nxxx ,,, 10 K donde ihaxi += para cada Ni ,,1,0 K= La distancia común entre los puntos, N ab h −= se llama tamaño de paso. Usaremos el teorema de Taylor para derivar el método de Euler, que sólo usa los dos primeros términos de la serie. 2000 !2 )( )()()( h y xyhxyhxy ξ′′+′+=+ , x0 < ξ < x0 + h donde se ha escrito la forma de costumbre del término de error para la serie de Taylor truncada. Al usar esta ecuación, el valor de y(x0) está dado por la condición inicial e )( 0xy′ se evalúa a partir de ),( 00 yxf , que está dada por la ecuación diferencial ),( yxfdx dy = . Este método debe usarse de manera iterativa, avanzando la solución a hxx 20 += después que se ha calculado )( 0 hxy + , y luego hacia hxx 30 += , y así sucesivamente. Al adoptar una notación de subíndices para los valores sucesivos de y, el algoritmo para el método de Euler puede escribirse iii yhyy ′+=+1 Se calcula yn en forma recursiva como ),( 000001 yxhfyyhyy +=′+= ),( 1112 yxhfyy += Cálculo Numérico – Programación Aplicada 2009 Ing. Adriana Apaza – JTP Cálculo Numérico 4 ),( 2223 yxhfyy += ),( 3334 yxhfyy += .................................... Ejemplo : Resuelva 5)0(,720 05 =+−=′ − yeyy x , por medio del método de Euler con h = 0.01 para 0< x <0.02. [ la solución analítica está dada por ( )xxx eeey 205.020 19 7 5 −−− −+= ] Solución : Los primeros cálculos con h = 0.01 son los siguientes x0 = 0, 5)0(0 == yy x1 = 0.01, [ ] 07.47)5(2001.05 0001 =+−+=′+= eyhyy x2 = 0.02 [ ] 32565.37)07.4(2001.007.4),( 005.01112 =+−+=+= −eyxhfyy x3 =0.03[ ]=+−+=+= 01.02223 7)32565.3(2001.032565.3),( eyxhfyy 2.72982 x4 = 0.04 [ ]=+−+=+= 015.03334 7)32565.3(2001.032565.3),( eyxhfyy 2.25282 Los resultados para los valores seleccionados de x, con tres valores de intervalos de tiempo se muestran en la tabla x h = 0.01 h=0.001 h = 0.0001 yanalitica 0.01 4.07000 4.14924 4.15617 4.158599697 0.02 3.32565 3.45379 3.46513 3.469395432 0.03 2.72982 2.88524 2.89915 2.904800415 0.04 2.25282 2.42037 2.43554 2.442228423 0.05 1.87087 2.04023 2.05574 2.063187419 Aunque el método de Euler es muy sencillo, debe utilizarse cuidadosamente para evitar dos tipos de errores. El primer tipo lo forman los errores de truncamiento. El segundo tipo lo constituye la posible inestabilidad que aparece cuando la constante del tiempo es negativa (la solución tiende a cero si no hay término fuente), a menos de que el intervalo de tiempo h sea suficientemente pequeño Análisis de error en el método de Euler La solución numérica de ecuaciones diferenciales incluye dos tipos de error: Cálculo Numérico – Programación Aplicada 2009 Ing. Adriana Apaza – JTP Cálculo Numérico 5 • Errores de truncamiento causados por la naturaleza de los métodos empleados en la aproximación a los valores de y, • Errores de redondeo causados por el número limitado de dígitos o de cifras significativas que puede retener la computadora. Los errores de truncamiento se componen de dos partes. La primera es un error de truncamiento local que resulta al aplicar el método en cuestión en un paso. El segundo es un error de programación que resulta de las aproximaciones producidas durante los pasos anteriores. La suma de los dos es el error de truncamiento global. El conocimiento de la magnitud y propiedades del error de truncamiento se puede obtener de la expansión de la serie de Taylor. La serie de Taylor alrededor del punto inicial (xi,yi) es: ii n n n n ii iii xxhhn y h y h y hyyy −= + +++ ′′ +′+= + + + + 1 1 )1()( 2 1 donde ,)!1( )( !2!2 ξ K sabiendo que ),( yxfy =′ )( ! ),( !2 ),( ),( 1 )1( 2 1 + − + +++ ′ ++= nnii n ii iiii hOhn yxf h yxf hyxfyy K en donde )( 1+nhO especifica que el error de truncamiento local es proporcional al tamaño de paso elevado a la (n+1)-ésima potencia. El error de truncamiento en el método de Euler es atribuible a los términos restantes de la expansión que no se incluyen en la ecuación nnn yhyy ′+=+1 . Por lo que )( 2 ),( 12 +++ ′ = niia hOh yxf E K , donde Ea es el error de truncamiento local. Para una h lo suficientemente pequeña, los errores en los términos de la ecuación de Ea decrecen por lo común a medida que el orden crece, y el resultado, a menudo, se representa como 2 2 ),( h yxf E iia ′ = o, )( 2hOEa = , que es el error de truncamiento local aproximado. El problema con este método bastante sencillo es su falta de exactitud, al requerir un tamaño de paso extremadamente pequeño. En el método de Euler simple, se usa la pendiente al inicio del intervalo, ny′ para determinar el incremento de la función (ver figura). Esta técnica sería correcta sólo si la función fuese lineal. Lo que se necesita es la pendiente media dentro del intervalo. Cálculo Numérico – Programación Aplicada 2009 Ing. Adriana Apaza – JTP Cálculo Numérico 6 y1 pendiente en x1calculada con x1,y1 (a partir de Euler) y0 valor y1 verdadero x0 x1 Método de Euler mejorado Un método para mejorar la aproximación a la pendiente implica el cálculo de dos derivadas del intervalo, una en el punto inicial y la otra en el punto final. En seguida se promedian las dos derivadas y se obtiene una aproximación mejorada de la pendiente en el intervalo completo. El método de Euler mejorado tiene dos motivaciones. La primera es que es más preciso que el anterior. La segunda es que es más estable. Supóngase que para calcular yi+1 se utiliza la media aritmética de las pendientes al inicio y al final del intervalo: 2 1 1 + + ′+′ += iiii yy hyy ( )12 +′+′+= iii yy h y , sabemos que ),,( yxf dx dy = por lo que nos queda 2 ),(),( 11 1 ++ + + += iiiiii yxfyxf hyy Si f es una función no lineal de y, la ecuación del método de Euler es una función no lineal de yn+1, por lo que se requiere un algoritmo para resolver ecuaciones no lineales. Uno de los métodos ampliamente utilizados para resolver ecuaciones no lineales es el de las sustituciones sucesivas [ ]),(),( 2 1 )1( 11 )( iii k iii k xyfxyf h yy ++= + − ++ 1 )( +i ky es la k-ésima aproximación iterativa de 1+iy e )0( 1+iy es una estimación lineal de 1+iy . Recuérdese que en el método de Euler, la pendiente al principio de un intervalo ),( iii yxfy =′ (1) se usa para extrapolar linealmente a 1 * +iy : hyxfyy iiii ),(1 * +=+ (2) En el método de Euler se pararía en este punto. Sin embargo en el mejorado, la 1* +iy es una predicción intermedia que permite el cálculo de una pendiente aproximada al final del intervalo: ),( 1*11 +++ =′ iii yxfy (3) Se pueden combinar las dos pendientes (1) y (3) y obtener una pendiente promedio sobre el intervalo: Cálculo Numérico – Programación Aplicada 2009 Ing. Adriana Apaza – JTP Cálculo Numérico 7 2 ),(),( 2 * 111 +++ += ′+′ =′ iiiiii yxfyxfyy y Esta pendiente promedio se usa para extrapolar linealmente de yi a yi+1 usando el método de Euler: 2 ),(),( 1*1 1 ++ + + += iiiiii yxfyxf hyy Ejemplo : Resuelva 10)0( ,15.1 =+−=′ yyy mediante el método de Euler mejorado con h = 0.1, con 0 ≤ t ≤ 1. Solución : El método de Euler mejorado es [ ]2)()( 2 5,15,1 11 +−−+= ++ iiii yy h yy n = 0 [ ]2)()( 2 5,1 0 5,1 101 +−−+= yy h yy La primera aproximación de y1, se obtiene con el método de Euler simple: [ ] 9377223.61101.010 5.11 001 =+−+= ′+= y yhyy Con este valor calculamos y1, con la fórmula de Euler mejorado [ ] 60517.72)10()93772.6( 2 1.0 10 5,15,11 =+−−+≈y Repetimos la sustitución unas veces más, [ ] 47020.72)10()60517.7( 2 1.0 10 5,15,11 =+−−+≈y [ ] 49799.72)10()47020.7( 2 1.0 10 5,15,11 =+−−+≈y [ ]=+−−+≈ 2)10()49799.7( 2 1.0 10 5,15,11y Método de Euler modificado La figura ilustra una modificación simple del método de Euler. Este método llamado Euler modificado, usa el método de Euler para predecir un valor de y en el punto medio del intervalo: ),( 22 1 iiii yxf h yy +=+ Entonces este valor predecido se usa en la aproximación de la pendiente en el punto medio: ),( 2 1 2 1 2 1 +++ =′ iii yxfy lo cual, se supone, representa una aproximación válida de la pendiente promedio en el intervalo completo. Esta pendiente se usa para extrapolar linealmente de xi a xi+1 usando el método de Euler Cálculo Numérico – Programación Aplicada 2009 Ing. Adriana Apaza – JTP Cálculo Numérico 8 ),( 2 1 2 11 +++ += iiii yxhfyy Nótese que debido a que yi+1 no está en ambos lados, no se puede aplicar el método iterativamente para mejorar la solución. Métodos de Runge-Kutta Los métodos de Runge-Kutta tienen la exactitud del esquema de la serie de Taylor sin necesitar del cálculo de derivadas superiores. Existen muchas variacionespero todas ellas se pueden ajustar a la forma general de la ecuación: hhyxyy iiii ),,(1 φ+=+ A ),,( hyx iiφ se le llama función de incremento y puede interpretarse como el promedio de la pendiente sobre el intervalo. La función de incrementoφ se puede escribir en la forma general como nnkakaka +++= ...2211φ Donde las a son constantes y las k )...,( ............................................................ ),( ),( ),( 11,122,111,11 22211123 11112 1 hkqhkqhkqyhpxfk hkqhkqyhpxfk hkqyhpxfk yxfk nnnnninin ii ii ii −−−−−− +++++= +++= ++= = Obsérvese que las k son relaciones recurrentes. Esto es, k1 aparece en la ecuación de k2, que aparece en la ecuación de k3 , etc. Esta recurrencia hace a los métodos RK eficientes para su cálculo en computadora. Obtención de los coeficientes de los métodos de seg undo orden de Runge-Kutta La versión de segundo orden de la ecuación general de Runge-Kutta es: xn xn+1 yn+1 yn pendiente=f(xn+1,,yn+1) h xi+1 h xi h/2 h/2 yi+1 yi Pendiente= f(xi+h/2,y’i+1/2) Método de Euler mejorado Método de Euler modificado Cálculo Numérico – Programación Aplicada 2009 Ing. Adriana Apaza – JTP Cálculo Numérico 9 hkakayy ii )( 22111 ++=+ (1), Con ),(1 ii yxfk = y ),( 11112 hkqyhpxfk ii ++= Debemos determinar los valores de a1, a2 , p1 y q11. Para hacerlo, recuérdese que la serie de Taylor de segundo orden para yi+1 en términos de yi y f (xi,yi) se escribe como 2 ),(),( 2 1 h yxfhyxfyy iiiiii ′++=+ ),( ii yxf ′ debe determinarse derivando con la regla de la cadena dx dy y f x f yxf ii ∂ ∂+ ∂ ∂=′ ),( , sustituyendo en la anterior 2 ),( 2 1 h dx dy y f x f hyxfyy iiii ∂ ∂+ ∂ ∂++=+ (2) La estrategia básica subyacente en los métodos de Runge-Kutta es el uso de manipulaciones algebraicas para encontrar los valores de a1, a2, p1 y q11 y hacer la ecuación (1) equivalente a la (2). Primero se usa la expansión de la serie de Taylor de la ecuación ),( 11112 hkqyhpxfk ii ++= . La serie de Taylor de una función de dos variables se define como: ...),(),( + ∂ ∂+ ∂ ∂+=++ y g s x g ryxgsyrxg entonces, )(),(),( 2111111112 hOy f hkq x f hpyxfhkqyhpxfk ii +∂ ∂+ ∂ ∂+=++= Esta ecuación se puede sustituir junto con la ecuación de k1, en la ecuación (1) para obtener )(),(),(),( 32112 2 12211 hOy f hyxfqa x f hpayxhfayxhfayy iiiiiiii +∂ ∂+ ∂ ∂+++=+ o, reordenando términos [ ] )(),(),( 3211212211 hOhy f yxfqa x f pahyxfaayy iiiiii + ∂ ∂+ ∂ ∂+++=+ (3) Ahora, comparando términos semejantes en las ecuaciones (2) y (3), se determina que para que las dos ecuaciones sean equivalentes, se debe cumplir lo siguiente: 2 1 2 1 1 112 12 21 = = =+ qa pa aa (3) Estas tres ecuaciones simultáneas contienen las cuatro constantes incógnitas. Debido a que existe una incógnita más que el número de ecuaciones, no hay un conjunto único de valores que satisfagan las ecuaciones. Sin embargo, adjudicándole un valor a una de las constantes, se pueden determinar las otras tres. Por consiguiente, existe una familia de métodos de segundo orden en vez de una sola versión. Cálculo Numérico – Programación Aplicada 2009 Ing. Adriana Apaza – JTP Cálculo Numérico 10 METODO DE RUNGE-KUTTA DE SEGUNDO ORDEN La versión de segundo orden es hkakayy ii )( 22111 ++=+ donde ),(1 ii yxfk = ),( 11112 hkqyhpxfk ii ++= Sabemos que: 2 1 2 1 1 112 12 21 = = =+ qa pa aa Las ecuaciones se resuelven simultáneamente para: 2 111 21 2 1 1 a qp aa == −= Ya que se puede escoger una cantidad infinita de valores de a2, existe un número infinito de métodos de Runge-Kutta de segundo orden. Cada versión llevaría exactamente a los mismos resultados si la solución de la ecuación diferencial ordinaria es cuadrática, lineal o constante. Sin embargo, llevan a resultados diferentes cuando la solución es más complicada. Se muestran tres de las versiones más comúnmente usadas: a) Si se considera que a2 = ½ entonces las ecuaciones se resuelven para a1 = ½ y p1 = q11 = 1. Estos parámetros generan hkkyy ii )( 22 1 12 1 1 ++=+ ),(1 ii yxfk = ),( 12 hkyhxfk ii ++= Obsérvese que k1 es la pendiente al principio del intervalo y k2 es la pendiente al final del intervalo. Por consiguiente, este segundo método de Runge-Kutta es realmente el método de Euler mejorado . b) Si se supone que a2 = 1, entonces a1 = 0, p1 = q11 = ½, y nos queda 21 hkyy ii +=+ Con ),(1 ii yxfk = ),( 12 1 2 1 2 hkyhxfk ii ++= Cálculo Numérico – Programación Aplicada 2009 Ing. Adriana Apaza – JTP Cálculo Numérico 11 Este es el método de Euler modificado MÉTODO DE RUNGE-KUTTA DE TERCER ORDEN Se puede llevar a cabo una derivación análoga a la del método de segundo orden, para n = 3. El resultado de esta derivación es de seis ecuaciones con ocho incógnitas, por lo tanto, se deben especificar a priori los valores de dos de las incógnitas para determinar los parámetros restantes. Una versión común que resulta es hkkkyy ii +++=+ )4(6 1 3211 En la cual, )2,( ),( ),( 213 12 1 2 1 2 1 hkhkyhxfk hkyhxfk yxfk ii ii ii +−+= ++= = Ejemplo: Resuelva 1con 2)0( , 5.04 8.0 ==−= hyye dx dy x Usando las ecuaciones 184864924.5 ))217298.4)(5.0(2)3(5.0,5.0()2,( 217298.4 )5.3(5.04)5.1,5.0(),( 3)2(5.04)2,0(),(),( 00213 )5.0(8.0 0012 )0(8.0 001 )5.3,5.0( 2 1 2 1 = =+−+=+−+= = =−++=++= =−==== == yxfhkhkyhxfk eyxfhkyhxfk efyxfyxfk ii ii ii f Sustituyendo estos resultados en la ecuación hkkkyy ii +++=+ )4(6 1 3211 175676681.61)184864924.5)21729879.4(43( 6 1 2)0.1( = +++=y MÉTODO DE RUNGE-KUTTA DE CUARTO ORDEN Los métodos de Runge-Kutta más populares son los de cuarto orden. Como sucede con los métodos de segundo orden, existe un número infinito de versiones. El siguiente algunas veces se llama método clásico de Runge-Kutta de cuarto orden. Cálculo Numérico – Programación Aplicada 2009 Ing. Adriana Apaza – JTP Cálculo Numérico 12 hkkkkyy ii ++++=+ )22(6 1 43211 ),( ),( ),( ),( 34 23 12 1 2 1 2 1 2 1 2 1 hkyhxfk hkyhxfk hkyhxfk yxfk ii ii ii ii ++= ++= ++= = BIBLIOGRAFÍA • Chapra Steven C., Canale Raymond P.; MÉTODOS NUMÉRICOS PARA INGENIEROS. Con aplicaciones en computadoras personales, 1996, McGraw – Hill/Interamericana de México. • Burden Richard L., Faires J.Douglas; ANÁLISIS NUMÉRICO, 1996, Grupo Editorial Iberoamérica. • Nakamura Shoichiro, MÉTODOS NUMÉRICOS APLICADOS CON SOFTWARE, 1992, Pearson Educación Cálculo Numérico – Programación Aplicada 2009 Ing. Adriana Apaza – JTP Cálculo Numérico 13
Compartir