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

740                     MÉTODOS DE RUNGE-KUTTA

                                      a) Heun simple sin corrector      c) Heun con corrector
                                      SUB Heun (x, y, h, ynew)          SUB HeunIter (x, y, h, ynew)
                                        CALL Derivs (x, y, dy1dx)         es = 0.01
                                        ye = y + dy1dx · h                maxit = 20
                                        CALL Derivs(x + h, ye, dy2dx)     CALL Derivs(x, y, dy1dx)
                                        Slope = (dy1dx + dy2dx)/2         ye = y + dy1dx · h
                                        ynew = y + Slope · h              iter = 0
                                        x = x + h                         DO
                                      END SUB                               yeold = ye
                                                                            CALL Derivs(x + h, ye, dy2dx)
                                      b) Método del punto medio
                                                                            slope = (dy1dx + dy2dx)/2
                                      SUB Midpoint (x, y, h, ynew)          ye = y + slope · h
                                        CALL Derivs(x, y, dydx)             iter = iter + 1
                                                                                  −
                                        ym = y + dydx · h/2                 ea =  ye yeold  100%
                                        CALL Derivs (x + h/2, ym, dymdx)           ye
              FIGURA 25.13
              Seudocódigo para          ynew = y + dymdx · h                IF (ea ≤ es OR iter > maxit) EXIT
              implementar los métodos     x = x + h                       END DO
              de a) Heun simple,      END SUB                             ynew = ye
              b) punto medio y c) Heun                                    x = x + h
              iterativo.                                                END SUB





                                      Este algoritmo se combina con la figura 25.7 con el objetivo de desarrollar el software
                                      para el método iterativo de Heun.


                                      25.2.4 Resumen
                                      Al mejorar el método de Euler desarrollamos dos nuevas técnicas de segundo orden.
                                      Aun cuando esas versiones requieren más cálculos para determinar la pendiente, la re-
                                      ducción que se obtiene del error nos permitirá concluir, en una sección próxima (sección
                                      25.3.4), que usualmente una mejor exactitud vale el esfuerzo. Aunque existen ciertos
                                      casos donde técnicas fácilmente programables, como el método de Euler, pueden apli-
                                      carse con ventaja, los métodos de Heun y del punto medio por lo común son superiores
                                      y se deberán implementar si son consistentes con los objetivos del problema.
                                         Como se hace notar al inicio de esta sección, los métodos de Heun (sin iteraciones),
                                      del punto medio y, de hecho, la técnica de Euler misma son versiones de una clase más
                                      amplia de procedimientos de un paso denominada métodos de Runge-Kutta. Ahora
                                      veremos el desarrollo formal de esas técnicas.


                              25.3    MÉTODOS DE RUNGE-KUTTA

                                      Los métodos de Runge-Kutta (RK) logran la exactitud del procedimiento de la serie de
                                      Taylor sin necesitar el cálculo de derivadas de orden superior. Existen muchas variantes,
                                      pero todas tienen la forma generalizada de la ecuación (25.1):
                                         y  = y  + f(x , y , h)h                                      (25.28)
                                                      i
                                                    i
                                          i+1
                                               i

                                                                                                         6/12/06   14:02:00
          Chapra-25.indd   740                                                                           6/12/06   14:02:00
          Chapra-25.indd   740
   759   760   761   762   763   764   765   766   767   768   769