Você está na página 1de 9

1.

INTRODUCCIN:

Mtodo de Gauss Seidel:


Los mtodos iterativos o aproximados proveen una alternativa en los mtodos
de eliminacin. El mtodo de Gauss-Seidel es el mtodo iterativo ms
comnmente usado. Suponga que se da un conjunto de n ecuaciones:

Suponga que para ser concisos se limita a un conjunto de ecuaciones de 3 x 3.


Si los elementos de la diagonal no son todos cero, la primera ecuacin se puede
resolver para X1, la segunda para X2 y la tercera para X3, para obtener:

[1]

[2]

[3]

Ahora se puede empezar el proceso de solucin al escoger los valores


iniciales de las X. Una forma simple para obtener los valores iniciales es suponer
que todos son cero. Estos ceros se pueden sustituir en la ecuacin [1], la cual se
puede usar para calcular un nuevo valor para:

Despus, se sustituye este nuevo valor de X1 junto con los valores previos de
cero para X3 en la ecuacin [2] y calcular el nuevo valor para X2. Este proceso se
repite en la ecuacin [3] para calcular el nuevo estimado de X3.
Despus se regresa a la primera ecuacin y se repite todo el procedimiento
hasta que la solucin converja lo suficientemente cercana a los valores reales. La
convergencia se puede verificar usando el siguiente criterio:

para todas las i, donde j y j-1 son las iteraciones actuales y previas.
Como cada nuevo valor de x se calcula con el mtodo de Gauss-Seidel, este se
usa inmediatamente en la siguiente ecuacin para determinar otro valor de x. De
esta manera, si la solucin es convergente, se empleara la mejor estimacin
posible.

Criterio de Convergencia para el Mtodo de Gauss-Seidel


El mtodo de Gauss-Seidel presenta dos problemas fundamentales:
1) En algunas ocasiones es no convergente.
2) Cuando converge con frecuencia lo hace en forma muy lenta
Los criterios de convergencia se pueden desarrollar al recordar las
condiciones suficientes para la convergencia de dos ecuaciones no lineales, u(x,y)
y v(x,y), son:

[4]

[5]

Estos criterios se aplican tambin a ecuaciones lineales de la clase que se


estn resolviendo con el mtodo de Gauss-Seidel. Por ejemplo, en el caso de dos
ecuaciones simultaneas, el algoritmo de Gauss-Seidel se puede expresar como:

[6]

[7]

Las derivada parciales de estas ecuaciones se pueden evaluar con respecto a


cada una de las incgnitas como :

la cual al sustituir en la ecuacin [4] y [5] para dar :

[8]

En otras palabras, el valor absoluto de la pendiente de la ecuacin [6] y [7]


debe ser menor que uno para asegurar la convergencia. Esto se demuestra
grficamente en la siguiente figura :

Las ecuaciones [8] pueden reformularse como :

Esto es, el elemento diagonal debe ser mayor que el elemento fuera de la
diagonal para cada rengln.
La extensin de lo anterior para n ecuaciones es directa y puede expresarse
como:

[9]
Es decir, el coeficiente diagonal en cada una de las ecuaciones debe ser
mayor que la suma del valor absoluto de los otros coeficientes en la ecuacin. El
criterio es suficiente pero no necesario para la convergencia. De esta forma,
aunque algunas veces el mtodo trabaja aun sin cumplirse la ecuacin [9], la
convergencia se garantiza si la condicin se satisface. Sistemas que cumplen con
la ecuacin [9], son conocidos como diagonalmente dominantes.
2.-

EL SISTEMA DE ECUACIONES LINEALES:


X1 - X2 + X3 - 4X4 = -14
2X1 + X2 - 3X3 + X4 = -1
X1 + 6X2 + X3 - X4 = 12
3X1 +2X2 - X3 + 2X4 = 12

3.-

DESARROLLO MANUAL DEL MTODO:


X1 - X2 + X3 - 4X4 = -14
2X1 + X2 - 3X3 + X4 = -1
X1 + 6X2 + X3 - X4 = 12
3X1 +2X2 - X3 + 2X4 = 12
= Para

X2(k) = X3(k) = X4(k) = 0 ; sustituyendo tenemos:


X1(k+1) = -14
X2(k+1) = 27
X3(k+1) = -136
X4(k+1) = -68

X1(k+2) = -14 + X2(k+1) - X3(k+1) + 4X4(k+1)


2X1(k+2) + X2(k+2) = -1 + 3X3(k+1) - X4(k+1)
X1(k+2) + 6X2(k+2) + X3(k+2) = 12 + X4(k+1)
3X1(k+2) +2X2(k+2) - X3(k+2) + 2X4(k+2) = 12

*) Luego tenemos:

X1 = -123
X2 = -95

DIVERGE

X3 = 773

NO nos da la solucin

X4 = 672
*) Para evitar esta divergencia hay que hacer un reacomodo matricial de
tal manera que los coeficientes mayores se ubiquen en la diagonal
principal:

3
1

2
6

1
1

2
1

2 1 3 1

1 1 1 4

X1
X
2
X3

X4

12
12

14

3X1(k+1) = 12 - 2X2(k) + X3(k) - 2X4(k)


X1(k+1) + 6X2(k+1) = 12 - X3(k) + X4(k)
2X1(k+1) + X2(k+1) - 3X3(k+1) = -1 - X4(k)
X1(k+1) - X2(k+1) + X3(k+1) - 4X4(k+1) = -14
= Para

X2(k) = X3(k) = X4(k) = 0 ; sustituyendo tenemos:


X1(k+1) = 4
X2(k+1) = 1.33333
X3(k+1) = 3.44444
X4(k+1) = 5.02778

*) Iteraciones:

X1 =
4
X2 = 1.33333
X3 = X (k+5)
3.44444
i
X
=
1.00019
X 4 = 5.02778

X1 =
X2 =
X3 =
X
X4 =
=

Xi(k+2)
0.90741
2.11265
3.31842
Xi(k+6)
4.02829
1.00301

X2 =
X3 =

X2 =
X3 =

1.99947
3.00247

Xi(k+1)

1.99460
3.00208

X1 =
X2 =
X3 =
X
X4 =
=

Xi(k+3)
1.01217
1.94962
3.00075
Xi(k+7)
4.01583
1.00017

X1 =
X2 =
X3 =
X
X4 =
=

Xi(k+4)
1.02329
1.99863
3.02034
Xi(k+8)
4.01125
1.00016

X2 =
X3 =

1.99981
3.00055

X2 =
X3 =

1.99992
3.00016

X4 =

4.00192

X1 =
X2 =
X3 =
X4 =

X4 =

Xi(k+9)
1.00004
1.99998
3.00005
4.00003

4.00150

X4 =

Xi(k+10)
X1 = 1.00001
X2 = 1.99999
X3 = 3.00001
X4 = 4.00001

4.00023

X4 =

4.00010

Xi(k+11)
X1 = 1.00000
X2 = 2.00000
X3 = 3.00000
X4 = 4.00000

Soluciones:
X1 = 1.0000
X2 = 2.0000
X3 = 3.0000
X4 = 4.0000

4.-

PROGRAMA:

PROGRAM METGS;
{}
{ METODO DE GAUSS-SEIDEL PARA LA RESOLUCION ITERATIVA }
{ DE UN SISTEMA DE ECUACIONES LINEALES
}
{ SI DESEA UN SISTEMA DE MAYOR ORDEN AUMENTAR TOPE
}
{}
USES
CRT;
CONST
TOPE=20;
TYPE
VEC=ARRAY[1..TOPE] OF REAL ;
MAT=ARRAY[1..TOPE,1..TOPE] OF REAL;
PROCEDURE LECTURA(N:INTEGER;VAR A:MAT;VAR B:VEC);
VAR I,J:INTEGER;
BEGIN
FOR I:=1 TO N DO
BEGIN
WRITELN('DAR LA FILA',I:3,'DE LA MATRIZ Y EL SEGUNDO
MIEMBRO DE LA ECUACION');
FOR J:=1 TO N DO
READ(A[I,J]); READ(B[I]);
WRITELN
END
END;
PROCEDURE SALIDA(N:INTEGER;X:VEC);
VAR
I,J,K :INTEGER;
BEGIN
J:=2; K:=1;
FOR I:=1 TO N DO

BEGIN
J:=I+1;
IF J > 20 THEN
BEGIN
J:=2;
K:=K+25
END;
GOTOXY(K,J);
WRITELN('X[',I:2,']=',X[I]:16:10);
END;
WRITELN; WRITELN('PULSE [ENTER]');
READLN
END;
PROCEDURE GS(N:INTEGER;E:REAL;A:MAT;B:VEC;VAR X:VEC);
VAR
I,J,K,M,T,H :INTEGER;
S,L,P
:REAL;
X0,BB
:VEC;
BEGIN
FOR I:=1 TO N DO
X0[I]:=X[I];
M:=N-1; H:=0;
REPEAT
H:=H+1;
FOR I:=1 TO M DO
BEGIN
K:=I+1; S:=B[I];
FOR J:=K TO N DO
S:=S-A[I,J]*X0[J];
BB[I]:=S
END;
BB[N]:=B[N];
X[1]:=BB[1]/A[1,1];
FOR I:=2 TO N DO
BEGIN
S:=BB[I]; T:=I-1;
FOR J:=1 TO T DO
S:=S-A[I,J]*X[J];
X[I]:=S/A[I,I];
END;
L:=0;
FOR I:=1 TO N DO
BEGIN
P:=X[I]-X0[I]; L:=L+P*P;
X0[I]:=X[I]
END;
L:=SQRT(L); CLRSCR;
WRITELN('ITERACION # :',H:5,' PRESICION:',L:10:6);
SALIDA(N,X);
UNTIL L < E ;
END;
VAR
I,J,N,K:INTEGER;
E
:REAL;
A
:MAT;

B,X
:VEC;
SW
:BOOLEAN;
LETRA :CHAR;
BEGIN
CLRSCR;
REPEAT
GOTOXY(20,1);
WRITELN('SOLUCION DE UN SISTEMA DE ECUACIONES LINEALES');
GOTOXY(19,2);
WRITELN('
(Metodo de Gauss_Siedel)
');
GOTOXY(5,10);
WRITELN('DAR ORDEN DE LA MATRIZ <=',TOPE:4,' Y LA
PRESICION');
READLN(N,E);
SW:=(N <= TOPE) AND (0 < E) AND (E <1)
UNTIL SW;
LECTURA(N,A,B);
FOR I:=1 TO N DO
X[I]:=0;
GS(N,E,A,B,X);
REPEAT
CLRSCR;
WRITELN('SOLUCION BUSCADA CON PRESICION',E:16:10);WRITELN;
SALIDA(N,X); GOTOXY(5,22);
WRITELN('SI DESEA VER DE NUEVO LA SOLUCION PULSE [S]');
LETRA:=READKEY;
SW:=NOT((LETRA='S') OR(LETRA='s'))
UNTIL SW;
READLN
END.

5.-

RESPUESTAS OBTENIDAS POR EL PROGRAMA:


o Solucin buscada con una precisin: 0.0001
X1
X2
X3
X4

6.-

=
=
=
=

1.00002612
1.99998874
3.00003134
4.00001718

CONCLUSIONES Y RECOMENDACIONES:
Conclusin:
Cuando los valores de las variables resultan muy grandes, nos indica
que el sistema entra en un estado de divergencia; por consiguiente no
podemos obtener la solucin verdadera.

Los resultados obtenidos por el computador tienen una variacin mnima


comparados con los valores obtenidos manualmente.

Recomendacin:
Para evitar la divergencia del sistema de ecuaciones, se recomienda
lograr ubicar los coeficientes mayores en la diagonal principal de la matriz
elaborada.
Debemos de comparar los resultados obtenidos manualmente con los
obtenidos por el programa para determinar la precisin en cada caso.

Você também pode gostar