He Volado Durante A Os Y Es La Primera Vez Que Vuelo De Picada
MÉTODO DE JACOBI y MÉTODO DE GAUSS-SEIDEL
Para el método de Jacobi, considere un sistema Ax=b
Sea A = D - E - F, dondeD es la diagonal de A, -E la triangula inferior y -F la triangular superior.
Así, la sucesión que se construye con este método iterativo será:
Ax = b(D-E-F)x = b
Dx = (E+F)x + b
x(k) = D-1(E+F)x(k-1) + D-1b
El siguiente programa resuelve mediante el método de Jacobi un sistema de ecuaciones Ax=b con unerror menor que una tolerancia dada tol. Note que el programa necesita un dato inicial x0. Además, el programa se detiene si se alcanza un número máximode iteraciones maxit sin que se satisfaga el criterio de convergencia.
function [x,iter]=jac(A,b,x,tol,maxit)
N=diag(diag(A));
P=N-A; corr=1; errest=1;iter=0;
while abs(errest)>tol & iter
x0=x;
corr0=corr;
x=N\(P*x0+b);
corr=norm(x-x0,inf);
normest=corr/corr0;
if normest>=1 & iter>=2
error('norma de la matriz de iteración > 1')
end
errest=normest/(1-normest)*corr;
end
iter
Ejemplo: ResuelvaAx(0)=b, con una aproximación inicial x(0)=[0 0 0]'
>> A=[5 -2 1;-1 -7 3;2 -1 8];
>> x=[0 0 0]';
>> b=[3 -2 1]';
>> tol=10^-6;
>> maxit=200;
>>jac(A,b,x,tol,maxit)
iter=
13
ans=
0.6763
0.1799
-0.0216
Para el MÉTODO DE GAUSS-SEIDEL, modificar N y P:
N=tril(A)
P=N-A
Regístrate para leer el documento completo.