jueves, 23 de abril de 2015

FALSA POSICION

Introducció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.
    Un inconveniente del método de bisección es que al dividir el intervalo de x1 a xu en mitades iguales, no se toman en cuenta las magnitudes de f(x1) y f(xu). Por ejemplo, si f(x1)está mucho más cercana a cero que f(xu), es lógico que la raíz se encuentre más cerca de x1 que de xu. Un método alternativo que aprovecha esta visualización gráfica consiste en unir f(x1) y f(xu) con una línea recta. La intersección de esta línea con el eje de las x representa un mejor aproximación de la raíz. El hecho de que se reemplace la curva por una línea recta de una "falsa posición" de la raíz; de aquí el nombre de método de la falsa posición, o en latín, regula falsi. También se le conoce como método de interpolación lineal.

Fórmula
Usando triángulos semejantes, la intersección de la línea recta con el eje de las x se estima mediante:
http://illuminatus.bizhat.com/metodos/falsaposicion_archivos/image002.gif
Multiplicando en cruz la ecuación anterior obtenemos:
http://illuminatus.bizhat.com/metodos/falsaposicion_archivos/image004.gif
Agrupando términos y reordenando:
http://illuminatus.bizhat.com/metodos/falsaposicion_archivos/image006.gif
Dividiendo entre http://illuminatus.bizhat.com/metodos/falsaposicion_archivos/image008.gif
http://illuminatus.bizhat.com/metodos/falsaposicion_archivos/image010.gif
Esta es una de las formas del método de la falsa posición. Esta puede ponerse en una forma alternativa al separa los términos:
http://illuminatus.bizhat.com/metodos/falsaposicion_archivos/image012.gif
sumando y restando xu en el lado derecho:
http://illuminatus.bizhat.com/metodos/falsaposicion_archivos/image014.gif
Agrupando términos se obtiene:
http://illuminatus.bizhat.com/metodos/falsaposicion_archivos/image016.gif
o:
http://illuminatus.bizhat.com/metodos/falsaposicion_archivos/image018.gif
Esta es la fórmula de la falsa posición. El valor de xr calculado con la ecuación reemplazará, después, a cualquiera de los dos valores iniciales, xl o xu, y da un valor de la función con el mismo signo de f(xr). De esta manera, los valores xl y xu siempre encierran la verdadera raíz. El proceso se repite hasta que la aproximación a la raíz sea adecuada.
Algoritmo
Paso 1: Elija valores iniciales inferior, xi, y superior xu, que encierran la raíz, de forma tal que la función cambie de signo en el intervalo. Esto se verifica comprobando que f(xl) f(xu) <0.
Paso 2: Una aproximación de la raíz xr se determina mediante:
http://illuminatus.bizhat.com/metodos/falsaposicion_archivos/image018.gif
Paso 3: Realice las siguientes evaluaciones para determinar en qué subintervalo está la raíz:
a) Si f(xl)f(xr) < 0, entonces la raíz 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 raíz 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 raíz es igual a xr; termina el cálculo.
Pseudocódigo
FUNCTION FalsaPos(xl, xu, es, imax, xr, iter, ea)
    iter=0
    fl=f(xl)
    DO
        xrold=xr
        xr=xu-((f(xu)*(xl-xu))/(f(xl)-f(xu)))
        fr=f(xr)
        iter=iter+1
        IF xr!=0 THEN
            ea=ABS((xr-xold)/xr)*100
        END IF
        test=fl*fr
        IF test<0 THEN
            xu=xr
        ELSE IF test>0 THEN
            xl=xr
            fl=fr
        ELSE
            ea=0
        END IF
        IF ea<es OR iter >= imax EXIT
    END DO
FlasaPos=xr
END FalsaPo

 El método

http://upload.wikimedia.org/wikipedia/commons/thumb/9/97/False_position_method.svg/351px-False_position_method.svg.png
Las primeras dos iteraciones de regula falsi. La curva roja muestra la función f; las líneas azules, las secantes.
Como en el método de bisección, se parte de un intervalo inicial [a0,b0] con f(a0) y f(b0) de signos opuestos, lo que garantiza que en su interior hay al menos una raíz (véase Teorema de Bolzano). El algoritmo va obteniendo sucesivamente en cada paso un intervalo más pequeño [akbk] que sigue incluyendo una raíz de la función f.
A partir de un intervalo [akbk] se calcula un punto interior ck:
 c_k = \frac{f(b_k)a_k-f(a_k)b_k}{f(b_k)-f(a_k)}
Dicho punto es la intersección de la recta que pasa por (a,f(ak)) y (b,f(bk)) con el eje de abscisas (igual a como se hace en el método de la secante).
Se evalúa entonces f(ck). Si es suficientemente pequeño, ck es la raíz buscada. Si no, el próximo intervalo [ak+1bk+1] será:
·        [akck] si f(ak) y f(ck) tienen signos opuestos;
·        [ckbk] en caso contrario.

Análisis del método

Se puede demostrar que bajo ciertas condiciones el método de la falsa posición tiene orden de convergencia lineal, por lo que suele converger más lentamente a la solución de la ecuación que el método de la secante, aunque a diferencia de en el método de la secante el método de la falsa posición siempre converge a una solución de la ecuación.
El algoritmo tiene el inconveniente de que si la función es convexa o cóncava cerca de la solución, el extremo del intervalo más alejado de la solución queda fijo variando únicamente el más cercano, convergiendo muy lentamente.
Un ejemplo de este fenómeno se da en la función:
 f(x) = 2x^3-4x^2+3x\,
comenzando con [−1,1]. El extremo izquierdo del intervalo, −1, nunca cambia; el extremo derecho se aproxima a 0 linealmente.
La situación en que el método falla es fácil de detectar (el mismo extremo del intervalo se elige dos veces seguidas) y fácil de corregir eligiendo un ck diferente, como:
 c_k = \frac{\frac{1}{2}f(b_k) a_k- f(a_k) b_k}{\frac{1}{2}f(b_k)-f(a_k)}
o
 c_k = \frac{f(b_k) a_k- \frac{1}{2}f(a_k) b_k}{f(b_k)-\frac{1}{2}f(a_k)}
Restándole peso a uno de los extremos del intervalo para obligar a que el próximo ck ocurra de ese lado de la función.
El factor 2 usado arriba, garantiza una convergencia superlineal (asintóticamente, el algoritmo ejecuta dos pasos normales por cada paso modificado). Hay otras formas que dan incluso mejores tasas de convergencia. El ajuste mencionado arriba, y otras modificaciones similares se conocen como Algoritmo Illinois. Ford1 resume y analiza las variantes súper lineales del método regula falsi modificado. A juzgar por la bibliografía, estos métodos eran bien conocidos en los años 1970 pero han sido olvidados en los textos actuales.

 

No hay comentarios:

Publicar un comentario