Está en la página 1de 2

Alumno: Guillen Cruz, Pedro David Código: 15170134

Laboratorio: Miércoles de (2 - 4)pm Docente: Álvarez

Método de Gauss – Seidel

Script del método Gauss_Seidel

% Iteracion de Gauss – Seidel


function x = Gauss_Seidel(A,b,P,delta,maxiter)
% Datos
% A ES LA MATRIZ INVERTIBLE DE ORDEN NXN
% b es el vector de la mano derecha
% P es un vector de orden Nx1: el punto inicial
% delta es la tolerancia para P
% maxiter es el número máximo de iteraciones
% Resultados
% X es el vector de orden Nx1 : Aproximación a la solución de Ax = b
% entregada por Gauss – Seidel
N = length(b);
for k = 1: maxiter
for j= 1:N
if j == 1
x(1) = (b(1) – A(1,2:N)*P(2:N))/A(1,1);
elseif j == N
x(N) = (b(N) – A(N,1:N-1)*(x(1:N-1)) ')/A(N,N);
else
% X contiene la aproximacion k-esima
% y P la (k-1) esima
X(j) = (b(j) – A(j,1:j-1)*X(1:j-1)-A(j,j+1:N)*P(j+1:N)/A(j,j);
end
end
err = abs(norm(X' –P));
relerr = err/(norm(x)+eps);
P = X';
if (err<delta) | (relerr<delta)
break % parar el calculo
end
end
X = X'

Aplicación (Problema)
Resolver mediante la iteración de Gauss – Seidel el Sistema
4X1 + X2 – X3 = 13
X1 – 5X2 – X3 = -8
2X1 – X2 – 6X3 = -2
>> A = [4 1 -1 ; 1 -5 -1 ; 2 -1 -6]

A= 4 1 -1
1 -5 -1
2 -1 -6

>> b = [13 -8 -2]

b=
13 -8 -2

>> P = [0 0 0] '

P=
0
0
0

>> Gauss_Seidel (A,b,P,0.0005,50)


X=
2.999984996855308
2.000000313374084
0.999994946722755

También podría gustarte