INF 156 Análisis Numérico
GRUPO 7
SOLUCION DE ECUACIONES NO LINEALES METODO DE STEFFENSEN 1. INTRODUCCION 1.1 ANTECEDENTES HISTORICOS Johan Frederik Steffensen Nació en Dinamarca Dinamarca el año 1873, fue un importante matemático, estadístico y actuario, a lo largo de su vida realizó una investigación en los campos del cálculo de diferencias infinitesimales y la interpolación. Steffensen dio cátedra de Ciencia Actuaria en la Universidad de Copenhague desde 1923 hasta 1943. La inecuación de Steffensen y el Método de Steffensn fueron nombrados después de su fallecimiento el año 1961 El método de Steffensen es un algoritmo para obtener los ceros de una función. El método de Steffensen se puede considerar como una combinación del método de punto fijo y del método de Aitken. El método de Aitken es la aceleración de métodos, por lo tanto podemos definir este método como el método de punto fijo a celerado. 1.2 APLICACIONES DEL METODO NUMERICO Una de las aplicaciones de este método numérico es la aceleración de convergencia. Como ya sabemos, bajo ciertas condiciones el método de iteración de punto fijo converge linealmente si g(p)0 y converge cuadráticamente si g(p)=0. Resulta que en el caso de convergencia lineal existen métodos para acelerar l a convergencia. En esta situación es muy conveniente el uso del método de Steffensen. Ventajas y desventajas La principal ventaja del método Steffensen es que ha dado la convergencia cuadrática como método de Newton - es decir, tanto los métodos de encontrar las raíces de una ecuación f tan "rápidamente". En este caso rápidamente significa que el número de díg itos correctos en la respuesta se duplica con cada paso para ambos. Pero la fórmula para el método de Newton requiere una función separada de la derivada; método Steffensen no lo hace. Así Steffensen método puede ser programado para una función genérica, mientras que la función cumple con la restricción mencionada anteriormente.
El precio de la convergencia rápida es la evaluación de la función doble: f (x n) y f (x n + h) ambos se calcularán, lo que podría llevar mucho tiempo si f es una función complicada. Por comparación, el método de la secante sólo necesita una evaluación de la función por paso, así que con dos evaluaciones de la función del método de la secante puede hacer dos pasos, y dos pasos del método de la secante aumentar el número de dígitos correctos en un factor de 1.6. El paso por igual ig ual tiempo de Steffensen (o de Newton) aumenta el método de dígitos correctos en un factor de 2 (sólo un poco mejor). Al igual que el método de Newton y métodos cuadráticamente convergente mayoría de los otros, la debilidad fundamental en el método Steffensen es la elección del valor inicial . 1
INF 156 Análisis Numérico
GRUPO 7
Si el valor de x0 no es "lo suficientemente cerca" a la solución real , el método puede fallar y la secuencia de valores puede ser un fracaso q puede llegar a mostrar valores entre dos extremos de la función , o diverger hasta el infinito, o ambos. 2. METODO NUMERICO
El método de Steffensen presenta una convergencia rápida y no requiere, como en el caso del método de la secante, la evaluación de derivada alguna. Presenta además, la ventaja adicional de que el proceso de iteración sólo necesita un punto inicial. Este método calcula el siguiente punto de iteración a partir de la expresión:
Dado , consideremos el método iterativo aproximaciones.
. Sean x1 y x2 las dos primeras
Definimos
Y, en general, para cada n >= 0, se define
2
INF 156 Análisis Numérico
GRUPO 7
Entonces mas rápidamente que los anteriores métodos. El método así definido se denomina método de Steffensen. El método de Steffensen presenta una convergencia rápida y no requiere, como en el caso del método de la secante, la evaluación de derivada alg una. Presenta además, la ventaja adicional de que el proceso de iteración sólo necesita un punto inicial. Otra ventaja del método de Steffensen es que tiene convergencia cuadrática como el método de Newton - es decir, tanto los métodos de encontrar las raíces de una ecuación f tan "rápidamente". En este caso rápidamente significa que el número de díg itos correctos en la respuesta se duplica con cada paso para ambos. Pero la fórmula para el método de Newton requiere una función separada de la derivada, el método Steffensen no. Así que el método Steffensen puede ser programado para una función genérica, mientras que la función cumple la restricción mencionada anteriormente.
3.
PROGRAMA IMPRESO DE LOS METODOS NUMERICOS Acá tenemos el codigo fuente de una implementación del método de Steffensen en Matlab: Function [y, ite] = Steffensen_L (maxite, nombre, eror, xo) % Steffensen_L(), método acelerado que permite resolver % ecuaciones no lineales. Utiliza la ecuación g(x) determinada % por el método de Punto Fijo. c=0; if nargout==0 clc; fprintf(µ¶ METODO DE STEFFENSEN \n³); eror = 2; nombre = input (µ Arch. Ecuacion ? µ,¶s¶); while(eror<0 | eror>1) eror = input (µ Error ?¶); end; x(1) = input(µ Valor de Inicial Xo?¶); fprintf(µ ------------------------------------------------\n¶);
fprintf(µ ite. Xn Xn+1 d=(Xn+1-Xn) \n¶); fprintf(µ ------------------------------------------------\n¶); fprintf(µ%12.0f %12.5f\n , c , x(1) ¶); else x(1)=xo; end; dist = 2; vi = 2; while (dist>=eror & c<=maxite)
3
INF 156 Análisis Numérico
GRUPO 7
for i = vi : vi+1 x(i) = feval(nombre,x(i-1)); dist = abs(x(i) x(i-1)); if nargout==0 fprintf(µ%12.0f %12.5f %12.5f %14.6f\n¶, i-1, x(i-1), x(i), dist); end; end; i = vi ± 1; x(i+3) = x(i) ± ((x(i+1) ± x(i)).^2)/ (x(i+2)-2*x()i*1+x(i)); dist = abs(x(i+3)-x(i+2)); if nargout == 0 fprintf(¶%12.0f % 12.5f %12.5f % 14.6f\m¶, 1+2, x(i+2), x(i+3), dist); end; vi = vi + 3; c = c + 4; end; if nargout == 0 fprintf (µ ------------------------------------------------\n¶); end; if(c>maxite) if nargout == 0 fprintf (µ No se pueded dedterminar la raiz\n¶); end; y = NaN; ite = maxite; else if nargout == 0 fprintf (µ La raiz es = % 12.5f\n¶, x(i+3)); end; y = x(i+3); ite = i+2; end;
4.
PROCESO EXPERIMENTAL La siguiente tabla muestra las sucesiones de aproximaciones obtenidas mediante el método de iteración funcional xn+1 = g(xn), el método de aceleración de Aitken y el de súper aceleración de Steffensen. En concreto se considera
5.
(que tiene convergencia lineal):
DATOS TOMADOS EN LA RESOLUCION DEL PROGRAMA 4
INF 156 Análisis Numérico
6.
RESULTADOS Y CONCLUSIONES
7.
ANEXOS
GRUPO 7
Anexo 1 Se puede realizar una comparación entre los métodos numéricos de Aitken, Steffensen y la forma manual o normal de cálculo. En la tabla siguiente se puede observar qu el método de Steffensen brinda una mayor exactitud en el calculo.
Anexo 2 Tenemos otro ejemplo con la función g( x) = 1 + 2/ x, en el cual se puede observar la eficacia del método de Steffensen incluso en caso en q la i teración de la función g no converge.
5
INF 156 Análisis Numérico
GRUPO 7
Anexo 3 Proceso ² de Aitken y
En análisis numérico, el método o proceso ² de Aitken es un método de aceleración de la convergencia. Lleva el nombre de Alexander Aitken, quien introdujo este método en 1926.
[1]
Su
forma primitiva era conocida por Kwa Seki (finales del siglo XVII) y fue encontrado en la rectificación del círculo, es decir, el cálculo de pi. Es muy útil para acelerar la convergencia de una sucesión que converge linealmente. Cuando se aplica el método de Aitken a una sucesión obtenida mediante una iteración de punto fijo se conoce como método de Steffensen. Def inición Dada una sucesión
, se calcula la nueva sucesión
definida como :
Si se emplea el operador de las d i fer encias progr esivas definido como x n = x n + 1 x n. 2
x n = ( x n) = x n + 2 2x n + 1 + x n
también puede escribirse como:
Propiedades
6
INF 156 Análisis Numérico
GRUPO 7
El proceso ² de Aitken es un método de aceleración de la convergencia, y en particular un caso de transformación no lineal de una sucesión. x converge linealmente a L si existe un número (0, 1) tal que+
El método de Aitken acelerará la sucesión x n si y sólo si
Aunque la nueva sucesión no converge en general de forma cuadrática, se puede demostrar que para un método de punto fijo, es decir, para una sucesión x (n + 1) = f (x n) para alguna función iterada f , convergiendo hacia un punto fijo, la convergencia es cuadrática. En este caso, la técnica se conoce como método de Steffensen. Ejemplos Ejemplo 1 (Aceleración de una sucesión) El valor de
puede aproximarse mediante la sucesión an con valor inicial a0 = 1
definida de manera iterativa como:
n
x = valor iterado
Y= valor calculado
0
1
1.4285714
1
1.5
1.4141414
2
1.4166667
1.4142136
3
1.4142157
--
4
1.4142136
--
Ejemplo 2 (Aceleración de una serie) El valor de
puede calcularse como una suma infinita:
n
término
0
1
x = suma parcial 1
Ax 0.79166667
1 -0.33333333 0.66666667
0.78333333
2
0.86666667
0.78630952
3 -0.14285714 0.72380952
0.78492063
4 0.11111111
0.83492063
0.78567821
-9.0909091e-2 0.74401154
0.78522034
6 7.6923077e-2 0.82093462
0.78551795
5
0.2
7
INF 156 Análisis Numérico
GRUPO 7
7 -6.6666667e-2 0.75426795
--
8
--
5.8823529e-2
0.81309148
8