Está en la página 1de 3

Algoritmo del método de Aitken

El proceso de Aitken consiste en construir una sucesión {^xn} al mismo tiempo que se construye

la sucesión { } obtenida por la iteración de punto fijo para n = 0,1,2,... .

Esta sucesión converge más rápidamente que la { }. Para calcular la sucesión {^xn} nos
servimos del proceso de aceleración:

I. PSEUDOCODIGO

Para obtener una solución a f(x)=0 con una aproximación inicial x1.
ENTRADA: La función f, aproximación inicial x1, la tolerancia tol, número máximo de iteraciones No.
SALIDA: La solución aproximada p o el mensaje de fracaso.
Paso 1 Leer g  x  / g  x   x a partir de f(x)
Paso 2 Haga x2  g  x1 
Paso 3 Haga x3  g  x2 
Paso 4 Tome i=1
Paso 5 Mientras i<=N0
( xi 1  xi )2 ( xi 1  xi )2
Paso 6 Tome qi  xi  qi  xi 
xi  2  2 xi 1  xi xi  2  2 xi 1  xi
Paso 7 Tome xi 3  g ( xi  2 )
Paso 8 SALIDA(xi,f(xi),q
(i),f(qi),g(xi))
Paso 9 Si i>=2 entonces
Paso 10 Si |qi-qi-1 |<tol entonces
Paso 11 SALIDA (qi,f(qi))
Paso 12 (Procedimiento terminado
satisfactoriamente)
Paso 13 PARE
Fin _ si
Fin _ si
Paso 14 tome i  i  1
Fin _ mientras

Paso 15 SALIDA (‘El método fracasó después de No iteraciones’, No)


Paso 16 (Procedimiento terminado sin éxito)
II. CODIFICACION

%AUTORA: karen cabezas


% Algoritmo del método de aitken
%ENTRADA: La función f, aproximación inicial x1, la tolerancia tol,
%número máximo de iteraciones No.
%SALIDA: La solución aproximada p o el mensaje de fracaso.
clear all
syms x;
fun=input('Dar f(x): ');
f=inline(fun);
gg=input('Dar g(x): '); %PASO 1
g=inline(gg);
X(1)=input('Dar aproximacion inicial: ');
tol=input('Dar tolerancia: ');
N0=input('Dar numero maximo de iteraciones: ');
X(2)=g(X(1)); %PASO 2
X(3)=g(X(2)); %PASO 3
i=1; %PASO 4
while i<=N0 %PASO 5
q(i)=X(i+2)-((X(i+2)-X(i+1))^2/(X(i+2)-2*X(i+1)+X(i))); %PASO 6
X(i+3)=g(X(i+2)); %PASO 7
fprintf('%8.4f\t %8.4f\t %8.4f\t %8.4f\t
%8.4f\n',X(i),f(X(i)),q(i),f(q(i)),g(X(i))); %PASO8
if i>=2 %PASO 9
if abs(q(i)-q(i-1))<tol %PASO 10
fprintf('\nq(%2d)= %8.4f\nf(%8.4f)=%8.4f \n',i,q(i),q(i),f(q(i))); %PASO
11
fprintf('\nProcedimiento terminado satisfactoriamente\n'); %PASO 12
return; %PASO 13
end
end
i=i+1; %PASO 14
end
fprintf('\nEl metodo fracaso despúes de %d iteraciones',N0); %PASO 15
fprintf('\nProcedimiento terminado sin exito'); %PASO 16
III. EJECUCION

Dar f(x): exp(-x)-x


Dar g(x): exp(-x)
Dar aproximacion inicial: 0.0001
Dar tolerancia: 0.0001
Dar numero maximo de iteraciones: 10
0.0001 0.9998 0.6127 -0.0708 0.9999
0.9999 -0.6320 0.5822 -0.0236 0.3679
0.3679 0.3243 0.5717 -0.0071 0.6922
0.6922 -0.1917 0.5686 -0.0023 0.5005
0.5005 0.1057 0.5676 -0.0007 0.6062
0.6062 -0.0608 0.5673 -0.0002 0.5454
0.5454 0.0342 0.5672 -0.0001 0.5796
0.5796 -0.0195 0.5672 -0.0000 0.5601

q( 8)= 0.5672
f( 0.5672)= -0.0000

Procedimiento terminado satisfactoriamente

Dar f(x): exp(-x)-x


Dar g(x): exp(-x)
Dar aproximacion inicial: 0.0001
Dar tolerancia: 0.0001
Dar numero maximo de iteraciones: 4
0.0001 0.9998 0.6127 -0.0708 0.9999
0.9999 -0.6320 0.5822 -0.0236 0.3679
0.3679 0.3243 0.5717 -0.0071 0.6922
0.6922 -0.1917 0.5686 -0.0023 0.5005

El metodo fracaso despúes de 4 iteraciones


Procedimiento terminado sin exito

También podría gustarte