Raíces y Extremos de una función unidimensional

Los temas cubiertos en este capítulo están basados en los libros:
Computational Physics, de Steven E. Koonin, The Benjamin/Cummings Publishing Company (1986)
An Introduction to Computational Physics, de Tao Pang, Cambridge University Press (2003)


Ceros de una función unidimensional



En física nos encontramos a menudo con la necesidad de encontrar el posible valor de x que soluciones la ecuación f(x)=0. Si ese valor existe, se lo llama raíz de la ecuación.
Veremos 3 métodos para encontrar estas raices:


Método de bisección

Este es el método mas intuitivo y consiste en encontrar la solución en un intervalo [a,b] tal que
f(a) f(b) < 0   

Luego dividimos la región en dos partes con
x1  = (a + b) / 2 

Tenemos dos casos:
Si f(a)f(x1) < 0, 
entonces
x2  = (a + x1) / 2 

Si f(x1)f(b) < 0, 
entonces
x2  = (x1 + b) / 2 

Se repite el procedimiento hasta que xi sea menor que una cierta tolerancia &Delta.

Ejercicios:

  • Utilizar el programa bisection.for para encontrar las raíces de f(x)=exln(2x) - x3.


    Método de Newton

    Este método (tambien conocido como Newton_Raphson) utiliza una aproximación lineal alrededor de la raíz. Basándonos en la expansión de Taylor alrededor de la raíz x0
    
    f(x0) = f(x) + (x0 -x) f'(x) + ... 
    
    

    Si nos fuesemos aproximando iterativamente a la solución correcta, entonces en el paso n tendríamos que el valor del siguiente paso xn+1 sería
    
    f(xn+1) = f(xn) + (xn+1 - xn) f'(xn) ~ 0 
    
    

    Resolviendo, la raíz se obtiene como
    
    xn+1 = xn - f(xn)/f'(xn)
    
    

    Ejercicios:

  • Utilizar el programa newton.for para encontrar las raíces de f(x)=exln(2x) - x3.


    Método de la secante

    Este método es una variante del método de Newton, en el cual no conocemos la derivada de la función, y la hacemos numéricamente.
    
    xn+1 = xn - f(xn)/f'(xn)
    
    

    Se reemplaza, en primer orden por
    
    xn+1 = xn - f(xn)(xn-xn-1)/(f(xn)-f(xn-1) )
    
    

    Ejercicios:

  • Modificar el programa newton.for para encontrar las raíces de f(x)=exln(2x) - x3 por el método de la secante.
    (Si no sale, ver secante.for).
  • Comparar los tres métodos dados


    Extremos de una función

    Conociendo los métodos para obtener las raíces de una función, calcular sus extremos es tan solo una aplicación directa de estos métodos.
    Se trata de obtener el extremo de f(x) haciendo
    
    g(x) = f'(x) = 0
    
    

    Dado que esta raíz no determina que tipo de extremo es, se debe aceptar o rechazar los valores que aparecen en las iteraciones, de acuerdo a si buscamos un máximo o mínimo.

    Ejercicios:

  • Calcular la distancia de ligadura de la molécula NaCl. El potencial de interacción está dado por
    V(x) = -e2/r + &alpha e-r/&rho 
    

    donde e es la carga del protón, &alpha=1.09 x 103 eV y &rho=0.330 Å .

    (Respuesta: 2.36 Å)



    Darío Mitnik