Vous êtes sur la page 1sur 8

124

MTODOS CERRADOS

Solucin. Para generar grficas se usan paquetes como Excel y MATLAB. En la figura 5.4a se presenta la grfica de f (x) desde x = 0 hasta x = 5. La grfica muestra la existencia de varias races, incluyendo quizs una doble raz alrededor de x = 4.2, donde f (x) parece ser tangente al eje x. Se obtiene una descripcin ms detallada del comportamiento de f (x) cambiando el rango de graficacin, desde x = 3 hasta x = 5, como se muestra en la figura 5.4b. Finalmente, en la figura 5.4c, se reduce la escala vertical, de f (x) = 0.15 a f (x) = 0.15, y la escala horizontal se reduce, de x = 4.2 a x = 4.3. Esta grfica muestra claramente que no existe una doble raz en esta regin y que, en efecto, hay dos races diferentes entre x = 4.23 y x = 4.26. Las grficas por computadora tienen gran utilidad en el estudio de los mtodos numricos. Esta posibilidad tambin puede tener muchas aplicaciones en otras materias de la escuela, as como en las actividades profesionales.

5.2

EL MTODO DE BISECCIN
Cuando se aplicaron las tcnicas grficas en el ejemplo 5.1, se observ (figura 5.1) que f (x) cambi de signo a ambos lados de la raz. En general, si f (x) es real y contina en el intervalo que va desde xl hasta xu y f (xl) y f (xu) tienen signos opuestos, es decir, f(xl) f(xu) < 0
(5.1)

entonces hay al menos una raz real entre xl y xu. Los mtodos de bsqueda incremental aprovechan esta caracterstica localizando un intervalo en el que la funcin cambie de signo. Entonces, la localizacin del cambio de signo (y, en consecuencia, de la raz) se logra con ms exactitud al dividir el intervalo en varios subintervalos. Se investiga cada uno de estos subintervalos para encontrar el cambio de signo. El proceso se repite y la aproximacin a la raz mejora cada vez ms en la medida que los subintervalos se dividen en intervalos cada vez ms pequeos. Volveremos al tema de bsquedas incrementales en la seccin 5.4.

FIGURA 5.5 Paso 1: Elija valores iniciales inferior, xl, y superior, xu, que encierren la raz, de forma tal que la funcin cambie de signo en el intervalo. Esto se verica comprobando que f(xl) f(xu) < 0. Paso 2: Una aproximacin de la raz xr se determina mediante: xl + xu xr = 2 Paso 3: Realice las siguientes evaluaciones para determinar en qu subintervalo est la raz: a) Si f(xl)f(xr) < 0, entonces la raz se encuentra dentro del subintervalo inferior o izquierdo. Por lo tanto, haga xu = xr y vuelva al paso 2. b) Si f(xl)f(xr) > 0, entonces la raz se encuentra dentro del subintervalo superior o derecho. Por lo tanto, haga xl = xr y vuelva al paso 2. c) Si f(xl)f(xr) = 0, la raz es igual a xr; termina el clculo.

5.2

EL MTODO DE BISECCIN

125

El mtodo de biseccin, conocido tambin como de corte binario, de particin de intervalos o de Bolzano, es un tipo de bsqueda incremental en el que el intervalo se divide siempre a la mitad. Si la funcin cambia de signo sobre un intervalo, se evala el valor de la funcin en el punto medio. La posicin de la raz se determina situndola en el punto medio del subintervalo, dentro del cual ocurre un cambio de signo. El proceso se repite hasta obtener una mejor aproximacin. En la figura 5.5 se presenta un algoritmo sencillo para los clculos de la biseccin. En la figura 5.6 se muestra una representacin grfica del mtodo. Los siguientes ejemplos se harn a travs de clculos reales involucrados en el mtodo. EJEMPLO 5.3 Biseccin Planteamiento del problema. Emplee el mtodo de biseccin para resolver el mismo problema que se resolvi usando el mtodo grfico del ejemplo 5.1. Solucin. El primer paso del mtodo de biseccin consiste en asignar dos valores iniciales a la incgnita (en este problema, c) que den valores de f (c) con diferentes signos. En la figura 5.1 se observa que la funcin cambia de signo entre los valores 12 y 16. Por lo tanto, la estimacin inicial de la raz xr se encontrar en el punto medio del intervalo 12 + 16 = 14 2 Dicha aproximacin representa un error relativo porcentual verdadero de et = 5.3% (note que el valor verdadero de la raz es 14.7802). A continuacin calculamos el producto de los valores en la funcin en un lmite inferior y en el punto medio: xr = f(12)f(14) = 6.067(1.569) = 9.517 que es mayor a cero y, por lo tanto, no ocurre cambio de signo entre el lmite inferior y el punto medio. En consecuencia, la raz debe estar localizada entre 14 y 16. Entonces,

FIGURA 5.6 Una representacin grca del mtodo de biseccin. La grca presenta las primeras tres iteraciones del ejemplo 5.3.

12

16

14

16

15 14

126

MTODOS CERRADOS

se crea un nuevo intervalo redefiniendo el lmite inferior como 14 y determinando una nueva aproximacin corregida de la raz xr = 14 + 16 = 15 2

la cual representa un error porcentual verdadero et = 1.5%. Este proceso se repite para obtener una mejor aproximacin. Por ejemplo, f(14)f(15) = 1.569(0.425) = 0.666 Por lo tanto, la raz est entre 14 y 15. El lmite superior se redefine como 15 y la raz estimada para la tercera iteracin se calcula as: xr = 14 + 15 = 14.5 2

que representa un error relativo porcentual et = 1.9%. Este mtodo se repite hasta que el resultado sea suficientemente exacto para satisfacer sus necesidades. En el ejemplo anterior, se observa que el error verdadero no disminuye con cada iteracin. Sin embargo, el intervalo donde se localiza la raz se divide a la mitad en cada paso del proceso. Como se estudiar en la siguiente seccin, el ancho del intervalo proporciona una estimacin exacta del lmite superior del error en el mtodo de biseccin. 5.2.1 Criterios de paro y estimaciones de errores Terminamos el ejemplo 5.3 diciendo que el mtodo se repite para obtener una aproximacin ms exacta de la raz. Ahora se debe desarrollar un criterio objetivo para decidir cundo debe terminar el mtodo. Una sugerencia inicial sera finalizar el clculo cuando el error verdadero se encuentre por debajo de algn nivel prefijado. En el ejemplo 5.3 se observa que el error relativo baja de 5.3 a 1.9% durante el procedimiento de clculo. Puede decidirse que el mtodo termina cuando se alcance un error ms bajo, por ejemplo, al 0.1%. Dicha estrategia es inconveniente, ya que la estimacin del error en el ejemplo anterior se bas en el conocimiento del valor verdadero de la raz de la funcin. ste no es el caso de una situacin real, ya que no habra motivo para utilizar el mtodo si se conoce la raz. Por lo tanto, se requiere estimar el error de forma tal que no se necesite el conocimiento previo de la raz. Como se vio previamente en la seccin 3.3, se puede calcular el error relativo porcentual ea de la siguiente manera (recuerde la ecuacin 3.5):

a =

x rnuevo x ranterior 100% x rnuevo

(5.2)

donde xr nuevo es la raz en la iteracin actual y xranterior es el valor de la raz en la iteracin anterior. Se utiliza el valor absoluto, ya que por lo general importa slo la magnitud de ea sin considerar su signo. Cuando ea es menor que un valor previamente fijado es, termina el clculo.

5.2

EL MTODO DE BISECCIN

127

EJEMPLO 5.4

Estimacin del error en la biseccin Planteamiento del problema. Contine con el ejemplo 5.3 hasta que el error aproximado sea menor que el criterio de terminacin de es = 0.5%. Use la ecuacin (5.2) para calcular los errores. Solucin. Los resultados de las primeras dos iteraciones en el ejemplo 5.3 fueron 14 y 15. Sustituyendo estos valores en la ecuacin (5.2) se obtiene

a =

15 14 100% = 6.67% 15

Recuerde que el error relativo porcentual para la raz estimada de 15 fue 1.5%. Por lo tanto, ea es mayor a et. Este comportamiento se manifiesta en las otras iteraciones:
Iteracin 1 2 3 4 5 6 xl 12 14 14 14.5 14.75 14.75 xu 16 16 15 15 15 14.875 xr 14 15 14.5 14.75 14.875 14.8125 ea (%) 6.667 3.448 1.695 0.840 0.422 et (%) 5.279 1.487 1.896 0.204 0.641 0.219

As, despus de seis iteraciones ea finalmente est por debajo de es = 0.5%, y el clculo puede terminar. Estos resultados se resumen en la figura 5.7. La naturaleza desigual del error verdadero se debe a que, en el mtodo de la biseccin, la raz exacta se encuentra en cualquier lugar dentro del intervalo cerrado. Los errores verdadero y aproximado quedan distantes cuando el intervalo est centrado sobre la raz verdadera. Ellos estn cercanos cuando la raz verdadera se halla en cualquier extremo del intervalo. Aunque el error aproximado no proporciona una estimacin exacta del error verdadero, la figura 5.7 sugiere que ea toma la tendencia general descendente de et. Adems, la grfica muestra una caracterstica muy interesante: que ea siempre es mayor que et. Por lo tanto, cuando ea es menor que es los clculos se pueden terminar, con la confianza de saber que la raz es al menos tan exacta como el nivel aceptable predeterminado. Aunque no es conveniente aventurar conclusiones generales a partir de un solo ejemplo, es posible demostrar que ea siempre ser mayor que et en el mtodo de biseccin. Esto se debe a que cada vez que se encuentra una aproximacin a la raz cuando se usan bisecciones como xr = (xl + xu)/2, se sabe que la raz verdadera se halla en algn lugar dentro del intervalo de (xu xl)/2 = x /2. Por lo tanto, la raz debe situarse dentro de x /2 de la aproximacin (figura 5.8). As, cuando se termin el ejemplo 5.3 se pudo afirmar definitivamente que xr = 14.5 0.5 Debido a que x /2 = xr nuevo xranterior (figura 5.9), la ecuacin (5.2) proporciona un lmite superior exacto del error verdadero. Para que se rebase este lmite, la raz verda-

128

MTODOS CERRADOS

10

Aproximado
Error relativo porcentual

1.0 Verdadero

FIGURA 5.7 Errores en el mtodo de biseccin. Los errores verdadero y aproximado se gracan contra el nmero de iteraciones.

0.1

3 Iteraciones

dera tendra que estar fuera del intervalo que la contiene, lo cual, por definicin, jams ocurrir en el mtodo de biseccin. El ejemplo 5.7 muestra otras tcnicas de localizacin de races que no siempre resultan tan eficientes. Aunque el mtodo de biseccin por lo general es ms lento que otros mtodos, la claridad del anlisis de error ciertamente es un aspecto positivo que puede volverlo atractivo para ciertas aplicaciones en ingeniera.

FIGURA 5.8 Tres formas en que un intervalo puede encerrar a la raz. En a) el valor verdadero est en el centro del intervalo, mientras que en b) y c) el valor verdadero est cerca de los extremos. Observe que la diferencia entre el valor verdadero y el punto medio del intervalo jams sobrepasa la longitud media del intervalo, o x/2.

a)
xl

xl

xr

xu

b)

xr

xu

c)
x /2

xl

xr

xu

x /2

Raz verdadera

5.2

EL MTODO DE BISECCIN

129

nuevo xr xranterior

FIGURA 5.9 Representacin grca de por qu la estimacin del error para el mtodo de biseccin (x/2) es equivalente a la raz estimada en la iteracin actual (xrnuevo) menos la raz aproximada en la iteracin anterior (xranterior).

Iteracin anterior xranterior


nuevo xr

Iteracin actual

x /2

Antes de utilizar el programa de computadora para la biseccin, debemos observar que las siguientes relaciones (figura 5.9) x rnuevo x ranterior = y xl + xu 2 puede sustituirse en la ecuacin (5.2) para desarrollar una formulacin alternativa en la aproximacin del error relativo porcentual x rnuevo = xu xl 2

a =

xu xl 100% xu + xl

(5.3)

Esta ecuacin resulta idntica a la ecuacin (5.2) para la biseccin. Adems, permite calcular el error basndose en nuestros valores iniciales; es decir, en la primera iteracin. Por ejemplo, en la primera iteracin del ejemplo 5.2, el error aproximado se calcula como

a =

16 12 100% = 14.29% 16 + 12

Otro beneficio del mtodo de biseccin es que el nmero de iteraciones requerido para obtener un error absoluto se calcula a priori; esto es, antes de empezar las iteraciones, donde se observa que antes de empezar esta tcnica, el error absoluto es
0 = xu0 xl0 = x0 Ea

donde los superndices definen la iteracin. Por lo tanto, antes de empezar el mtodo se tiene la iteracin cero. Despus de la primera iteracin el error ser
1 = Ea

x 0 2

130

MTODOS CERRADOS

Debido a que en cada iteracin se reduce el error a la mitad, la frmula general que relaciona el error y el nmero de iteraciones, n, es
n Ea =

x 0 2n

(5.4)

Si Ea,d es el error deseado, en esta ecuacin se despeja n= x 0 log( x 0 / Ea,d ) = log 2 log 2 Ea , d
(5.5)

Probemos la frmula. En el ejemplo 5.4, el intervalo inicial fue x0 = 16 12 = 4. Despus de seis iteraciones, el error absoluto era Ea = 14.875 14.75 = 0.0625 2

Si se sustituyen esos valores en la ecuacin (5.5) resulta n= log( 4 / 0.0625) =6 log 2

Entonces, si se sabe de antemano que un error menor a 0.0625 es aceptable, la frmula indica que con seis iteraciones se consigue el resultado deseado. Aunque se ha puesto nfasis en el uso del error relativo por obvias razones, habr casos (usualmente a travs del conocimiento del contexto del problema) donde se podr especificar el error absoluto. En esos casos, la biseccin junto con la ecuacin (5.5) ofrece un til algoritmo de localizacin de races. Se explorarn tales aplicaciones con los problemas al final del captulo. 5.2.2 Algoritmo de biseccin El algoritmo en la figura 5.5 se extiende para incluir verificacin del error (figura 5.10). El algoritmo emplea funciones definidas por el usuario para volver ms eficientes la localizacin de las races y la evaluacin de las funciones. Adems, se le pone un lmite superior al nmero de iteraciones. Por ltimo, se incluye la verificacin de errores para evitar la divisin entre cero durante la evaluacin del error. ste podra ser el caso cuando el intervalo est centrado en cero. En dicha situacin la ecuacin (5.2) tiende al infinito. Si esto ocurre, el programa saltar la evaluacin de error en esa iteracin. El algoritmo en la figura 5.10 no es amigable al usuario; ms bien est diseado estrictamente para dar la respuesta. En el problema 5.14 al final del captulo, se tendr una tarea para volverlo fcil de usar y de entender. 5.2.3 Minimizacin de las evaluaciones de una funcin El algoritmo de biseccin de la figura 5.10 es adecuado si se quiere realizar la evaluacin de una sola raz de una funcin que es fcil de evaluar. Sin embargo, hay muchos casos en ingeniera que no son as. Por ejemplo, suponga que se quiere desarrollar un

5.3

MTODO DE LA FALSA POSICIN

131

FIGURA 5.10 Seudocdigo para la funcin que implementa el mtodo de biseccin.

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 IF ea < es OR iter imax EXIT END DO Bisect = xr END Bisect

programa computacional que localice varias races. En tales casos, se tendra que llamar al algoritmo de la figura 5.10 miles o aun millones de veces en el transcurso de una sola ejecucin. Adems, en un sentido ms general, la funcin de una variable es tan slo una entidad que regresa un solo valor para un solo valor que se le da. Visto de esta manera, las funciones no son simples frmulas como las ecuaciones de una sola lnea de cdigo resueltas en los ejemplos anteriores de este captulo. Por ejemplo, una funcin puede consistir de muchas lneas de cdigo y su evaluacin llega a tomar un tiempo importante de ejecucin. En algunos casos, esta funcin incluso representara un programa de computadora independiente. Debido a ambos factores es imperativo que los algoritmos numricos minimicen las evaluaciones de una funcin. A la luz de estas consideraciones, el algoritmo de la figura 5.10 es deficiente. En particular, observe que al hacer dos evaluaciones de una funcin por iteracin, vuelve a calcular una de las funciones que se determin en la iteracin anterior. La figura 5.11 proporciona un algoritmo modificado que no tiene esta deficiencia. Se han resaltado las lneas que difieren de la figura 5.10. En este caso, nicamente se calcula el valor de la nueva funcin para aproximar la raz. Los valores calculados previamente son guardados y simplemente reasignados conforme el intervalo se reduce. As, las 2n evaluaciones de la funcin se reducen a n + 1.

5.3

MTODO DE LA FALSA POSICIN


Aun cuando la biseccin es una tcnica perfectamente vlida para determinar races, su mtodo de aproximacin por fuerza bruta es relativamente ineficiente. La falsa posicin es una alternativa basada en una visualizacin grfica.

Vous aimerez peut-être aussi