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

5.3  MÉTODO DE LA FALSA POSICIÓN                                 131

                                         FUNCTION Bisect(xl, xu, es, imax, xr, iter, ea)
                                             iter = 0
                                             DO
                                                  xrold = xr
                                                  xr = (xl + xu)/2
                                                  iter = iter + 1
                                                  IF xr ≠ 0 THEN
                                                     ea = ABS((xr – xrold) / xr) * 100
                                                  END IF
                                                  test = f(xl) * f(xr)
                                                  IF test < 0 THEN
                                                     xu = xr
                                                  ELSE IF test > 0 THEN
                                                      xl = xr
                                                  ELSE
                                                       ea = 0
                                                  END IF
                 FIGURA 5.10                      IF ea < es OR iter ≥ imax EXIT
                 Seudocódigo para la fun-      END DO
                 ción que implementa el       Bisect = xr
                 método de bisección.    END Bisect


                                         programa computacional que localice varias raíces. En tales casos, se tendría que llamar
                                         al algoritmo de la figura 5.10 miles o aun millones de veces en el transcurso de una sola
                                         ejecución.
                                            Además, en un sentido más general, la función de una variable es tan sólo una en-
                                         tidad que regresa un solo valor para un solo valor que se le da. Visto de esta manera, las
                                         funciones no son simples fórmulas como las ecuaciones de una sola línea de código
                                         resueltas en los ejemplos anteriores de este capítulo. Por ejemplo, una función puede
                                         consistir de muchas líneas de código y su evaluación llega a tomar un tiempo importan-
                                         te de ejecución. En algunos casos, esta función incluso representaría un programa de
                                         computadora independiente.
                                            Debido a ambos factores es imperativo que los algoritmos numéricos minimicen las
                                         evaluaciones de una función. A la luz de estas consideraciones, el algoritmo de la figu-
                                         ra 5.10 es deficiente. En particular, observe que al hacer dos evaluaciones de una función
                                         por iteración, vuelve a calcular una de las funciones que se determinó en la iteración
                                         anterior.
                                            La figura 5.11 proporciona un algoritmo modificado que no tiene esta deficiencia.
                                         Se han resaltado las líneas que difieren de la figura 5.10. En este caso, únicamente se
                                         calcula el valor de la nueva función para aproximar la raíz. Los valores calculados pre-
                                         viamente son guardados y simplemente reasignados conforme el intervalo se reduce.
                                         Así, las 2n evaluaciones de la función se reducen a n + 1.


                                  5.3  MÉTODO DE LA FALSA POSICIÓN

                                         Aun cuando la bisección es una técnica perfectamente válida para determinar raíces, su
                                         método de aproximación por “fuerza bruta” es relativamente ineficiente. La falsa posición
                                         es una alternativa basada en una visualización gráfica.




                                                                                                         6/12/06   13:49:22
          Chapra-05.indd   131                                                                           6/12/06   13:49:22
          Chapra-05.indd   131
   150   151   152   153   154   155   156   157   158   159   160