Page 785 - Chapra y Canale. Metodos Numericos para Ingenieros 5edición_Neat
P. 785

25.5  MÉTODOS ADAPTATIVOS DE RUNGE-KUTTA                         761

                                         donde h actual  y h nuevo  = tamaño de los pasos actual y nuevo, respectivamente, ∆ actual  =
                                         exactitud actual calculada, ∆ nuevo  = exactitud deseada, y α = exponente constante que es
                                         igual a 0.2 cuando se incrementa el tamaño de paso (por ejemplo, cuando ∆ actual  ≤ ∆ nuevo )
                                         y a 0.25 cuando se disminuye el tamaño de paso (∆ actual  > ∆ nuevo ).
                                            El parámetro clave en la ecuación (25.47) es, obviamente, ∆ nuevo  ya que este valor
                                         permite especificar la exactitud deseada. Una manera de lograrlo consistirá en relacionar
                                         ∆ nuevo  con un nivel relativo de error. Como funciona bien sólo cuando se tienen valores
                                         positivos, llega a originar problemas para soluciones que pasan por cero. Por ejemplo,
                                         usted podría estar simulando una función oscilatoria que repetidamente pase por cero,
                                         pero que esté limitada por valores máximos absolutos. En tal caso, se desearía que estos
                                         valores máximos figuraran en la exactitud deseada.
                                            Una forma más general de trabajar con estos casos es determinar ∆ nuevo  como

                                            ∆ nuevo  = ey escala

                                         donde e = nivel de tolerancia global. La elección de y escala  determinará, entonces, cómo se
                                         escala el error. Por ejemplo, si y escala  = y, la exactitud se dará en términos de errores relati-
                                         vos fraccionales. Si usted tiene un caso donde desee errores constantes relativos a un lími-
                                         te máximo preestablecido, haga y escala  igual a ese límite. Un truco sugerido por Press y
                                         cols. (1992) para obtener errores relativos constantes, excepto muy cerca de cero, es:

                                             y escala  =  y +  h  dy
                                                        dx


                                         Ésta es la versión que usaremos en nuestro algoritmo.


                                         25.5.4 Algoritmo computacional
                                         Las figuras 25.21 y 25.22 muestran el pseudocódigo para implementar la versión Cash-
                                         Karp del algoritmo Runge-Kutta Fehlberg. Este algoritmo sigue el patrón dado en una
                                         implementación más detallada proporcionada por Press y cols. (1992) para sistemas de
                                         EDO.
                                            La figura 25.21 implementa un solo paso de la rutina de Cash-Karp (que son las
                                         ecuaciones 25.45 y 25.46). La figura 25.22 muestra un programa principal general jun-
                                         to con una subrutina que adapta el tamaño de paso.

                         EJEMPLO 25.14  Aplicación con computadora de un esquema adaptativo de RK de cuarto orden

                                         Planteamiento del problema.  El método adaptativo de RK es apropiado para la so-
                                         lución de la siguiente ecuación diferencial ordinaria
                                             dy          −( x−2) /[ 2 0 075( .  ) ]
                                                             2
                                                                   2
                                               + 06.  y = 10 e
                                             dx                                                       (E25.14.1)
                                         Observe que para la condición inicial, y(0) = 0.5, la solución general es:
                                            y = 0.5e –0.6x                                            (E25.14.2)





                                                                                                         6/12/06   14:02:06
          Chapra-25.indd   761                                                                           6/12/06   14:02:06
          Chapra-25.indd   761
   780   781   782   783   784   785   786   787   788   789   790