Método de Gauss-Seidel
Ing. Marvin Hernández
II Semestre 2008
Instituto Tecnológico de Costa Rica
CM 3201 Métodos Numéricos
ÍNDICE
Introducción Descripción del Criterio de Convergencia Errores Ejemplo 1 Ejemplo 2 Ejemplo 3 Ejemplo 4 Bibliografía
IntroducciónIntroducción Este método se basa en la aproximación Este método se basa en la aproximación
iterativa propuesta por Seidel en 1874 en la iterativa propuesta por Seidel en 1874 en la Academia de Ciencias de Munich, para la Academia de Ciencias de Munich, para la aplicación al problema del flujo de potencia. aplicación al problema del flujo de potencia.
La ecuación anterior es el corazón del algoritmo La ecuación anterior es el corazón del algoritmo iterativo. La iteración comienza con una iterativo. La iteración comienza con una estimación de las magnitudes y ángulos de estimación de las magnitudes y ángulos de todas las barras del sistema, y se van todas las barras del sistema, y se van recalculando las tensiones utilizando los mejores recalculando las tensiones utilizando los mejores valores disponibles. Esto es, para calcular la valores disponibles. Esto es, para calcular la tensión Vk se utilizan los V1...k-1 ya tensión Vk se utilizan los V1...k-1 ya actualizados, y los Vk...n del paso anterior. El actualizados, y los Vk...n del paso anterior. El método tiene una convergencia método tiene una convergencia extremadamente lenta pero segura (excepto extremadamente lenta pero segura (excepto para problemas mal condicionados, o sin para problemas mal condicionados, o sin convergencia posible).convergencia posible).
El método de Gauss-Seidel pertenece a la El método de Gauss-Seidel pertenece a la familia de los métodos iterativos familia de los métodos iterativos utilizados para obtener la o las raíces de utilizados para obtener la o las raíces de una función cualquiera, especialmente en una función cualquiera, especialmente en forma de matrices de n ecuaciones forma de matrices de n ecuaciones [A][A]{X}={B}{X}={B}
Si los elementos de la diagonal de la matriz que se está solucionando no son todos cero la 1era se resuelve para Si los elementos de la diagonal de la matriz que se está solucionando no son todos cero la 1era se resuelve para xx11, la 2da para x, la 2da para x22 y la tercera para x y la tercera para x33, y la enésima para x, y la enésima para xnn para obtener: para obtener:
XX11= ( b= ( b11 – a – a1212xx22 – a – a1313xx33 ) / a ) / a1111
XX22 = ( b = ( b22 – a – a2121xx11 – a – a2323xx33 ) / a ) / a2222
XX33 = ( b = ( b33 – a – a3131xx11 – a – a3232xx22 ) / a ) / a3333
.. .. .. XXnn = ( b = ( bnn – a – an1n1xx11 - …- a - …- ann-1nn-1xxn-1n-1 ) / a ) / annnn
TeoremaTeorema Considerar un sistema de Considerar un sistema de nn ecuaciones con ecuaciones con
nn incógnitas, es decir, se tiene una matriz incógnitas, es decir, se tiene una matriz de coeficientes A cuadrada. Si el valor de coeficientes A cuadrada. Si el valor absoluto del elemento de la diagonal de absoluto del elemento de la diagonal de cada renglón de A es más grande que la cada renglón de A es más grande que la suma de los valores absolutos de los otros suma de los valores absolutos de los otros elementos de tal renglón entonces el elementos de tal renglón entonces el sistema tiene una solución única. El método sistema tiene una solución única. El método iterativo de Gauss-Seidel convergerá a la iterativo de Gauss-Seidel convergerá a la solución sin importar los valores iniciales. solución sin importar los valores iniciales.
Así es como empieza el proceso iterativo Así es como empieza el proceso iterativo suponiendo que los valores iniciales de x suponiendo que los valores iniciales de x son cero. Luego al obtener el primer x1 son cero. Luego al obtener el primer x1 se evalúa en (2) junto con el valor previo se evalúa en (2) junto con el valor previo de xde x33 y de igual forma se procede en (3) y de igual forma se procede en (3) con el xcon el x22 calculado y el x calculado y el x11 previo, para previo, para finalmente volver a (1) bajo la misma finalmente volver a (1) bajo la misma fórmula, haciendo converger el sistema.fórmula, haciendo converger el sistema.
<< ÍNDICE
Este criterio no solo se aplica a las ecuaciones lineales que se resuelven con el método de Gauss-Seidel sino también para el método iterativo del punto fijo y el método de Jacobi . Por tanto, al aplicar este criterio sobre las ecuaciones de Gauss-Seidel y evaluando con respecto a cada una de las incógnitas, obtenemos la expresión siguiente:
El valor absoluto de las pendientes en la ecuación, debe ser menor que la unidad para asegurar la convergencia.
Es decir, el elemento diagonal debe ser mayor que el elemento fuera de la diagonal para cada reglón de ecuaciones. La generalización del criterio anterior para un sistema de n ecuaciones es:
122
21 a
a1
11
12 a
a
2122 aa 1211 aa
Criterio de Convergencia
n
ij
jjiii aa
1,
Ejemplos de convergencia
Divergencia Seidel
-40
-30
-20
-10
0
10
20
30
40
50
60
70
-20 -10 0 10 20 30 40 50 60 70
X1
X2
X1 X20.00 0.0026.00 0.0026.00 20.781.44 20.781.44 -9.2336.91 -9.2336.91 34.12-14.32 34.12-14.32 -28.5059.68 -28.5059.68 61.95-47.21 61.95-47.21 -68.70107.19 -68.70107.19 120.01-115.83 120.01-115.83 -152.57
Divergencia Seidel
Iteraciones utilizando las siguientes ecuaciones sin ordenar
99911:
2861311:
21
21
xxv
xxu
Iteraciones utilizando previamente el criterio de diagonal dominante
Ejemplos de convergencia
2861311:
99911:
21
21
xxu
xxv
Convergencia Seidel
0
2
4
6
8
10
12
14
16
0 5 10 15 20 25X1
X2
X1 X20.00 0.009.00 0.009.00 14.3820.77 14.3820.77 4.4312.62 4.4312.62 11.3218.26 11.3218.26 6.5514.36 6.5514.36 9.8517.06 9.8517.06 7.5615.19 7.5615.19 9.1516.48 9.1516.48 8.0515.59 8.0515.59 8.81
Convergencia Seidel
En ResumenEl método de Gauss-Seidel está basado en el concepto de punto fijo, es decir ( xi = gi (x), i = 1.. n), para resolver sistemas de ecuaciones lineales.
Para garantizar la convergencia se debe de cumplir que el sistema tenga una diagonal dominante, es decir que se cumpla la desigualdad dada abajo; si se cambia el orden de las ecuaciones puede haber divergencia.
n
iji
ijaiia1
En Resumen
Además, se destaca que para mejorar la convergencia, se usan técnicas como:
Utilización de los cálculos previos asumiendo una mejor aproximación que el vector de condiciones iniciales. ( Gauss-Seidel ).
Un factor de ponderación para reducir el error residual ( Relajación )
<< ÍNDICE
Errores de Gauss- SeidelErrores de Gauss- Seidel
Ventajas?Ventajas?• Espacio: Espacio: convenientes para matrices cuadradasconvenientes para matrices cuadradas
• Tiempo: Tiempo: menor número de operacionesmenor número de operaciones
Desventajas?Desventajas?• Velocidad: Velocidad: convergenciaconvergencia lentalenta
• Convergencia: Convergencia: no siempre se obtiene la solución en un no siempre se obtiene la solución en un número finito de pasosnúmero finito de pasos
Análisis de errorAnálisis de error
1
:iaconvergenc de suficiente condición1
0
111
211
111
CB
eCBeCBe
eCBCeBe
k
kk
kkk
►Resolver el siguiente sistema de Resolver el siguiente sistema de ecuación por el método Gauss-Seidel ecuación por el método Gauss-Seidel utilizando un E= 0.001. utilizando un E= 0.001.
0.1 X1 + 7.0 X2 - 0.3 X3 = -19.300.1 X1 + 7.0 X2 - 0.3 X3 = -19.30
3.0 X1 - 0.1 X2 - 0.2 X3 = 7.853.0 X1 - 0.1 X2 - 0.2 X3 = 7.85
0.3 X1 - 0.2 X2 - 10.0 X3 = 71.400.3 X1 - 0.2 X2 - 10.0 X3 = 71.40
EJEMPLO #1EJEMPLO #1
<< ÍNDICE
►SOLUCIÓNSOLUCIÓN: :
Primero ordenamos las ecuaciones, de Primero ordenamos las ecuaciones, de modo que en la diagonal principal modo que en la diagonal principal estén los coeficientes mayores para estén los coeficientes mayores para asegurar la convergencia. asegurar la convergencia.
►3.0 X1 - 0.1 X2 - 0.2 X3 = 7.853.0 X1 - 0.1 X2 - 0.2 X3 = 7.85►0.1 X1 + 7.0 X2 - 0.3 X3 = -19.300.1 X1 + 7.0 X2 - 0.3 X3 = -19.30►0.3 X1 - 0.2 X2 - 10.0 X3 = 71.400.3 X1 - 0.2 X2 - 10.0 X3 = 71.40
►Despejamos cada una de las variables Despejamos cada una de las variables sobre la diagonal: sobre la diagonal:
►Suponemos los valores iniciales Suponemos los valores iniciales XX2 2 = 0= 0 y y XX3 3 = = 00 y calculamos y calculamos XX11
►Este valor junto con el de Este valor junto con el de XX33 se puede utilizar se puede utilizar para obtener para obtener XX22
►La primera iteración se completa La primera iteración se completa sustituyendo los valores de Xsustituyendo los valores de X11 y y X2X2 calculados obteniendo: calculados obteniendo:
►En la segunda iteración, se repite el En la segunda iteración, se repite el mismo procedimiento:mismo procedimiento:
►Comparando los valores calculados entre la primera Comparando los valores calculados entre la primera y la segunda iteración y la segunda iteración
Como podemos observar, no se cumple la Como podemos observar, no se cumple la condición condición
►Entonces tomamos los valores calculados Entonces tomamos los valores calculados en la última iteración y se toman como en la última iteración y se toman como supuestos para la siguiente iteración. Se supuestos para la siguiente iteración. Se repite entonces el proceso: repite entonces el proceso:
►Comparando de nuevo los valores Comparando de nuevo los valores obtenidosobtenidos
►Como se observa todavía no se Como se observa todavía no se cumple la condición cumple la condición
►Así que hacemos otra iteraciónAsí que hacemos otra iteración
►Comparando los valores obtenidos Comparando los valores obtenidos
►Dado que se cumple la condición, el Dado que se cumple la condición, el resultado es: resultado es:
XX11 = 3.0 = 3.0
XX22 = -2.5 = -2.5
XX33 = 7.0 = 7.0
EJEMPLO #2EJEMPLO #2► Usar el método de Gauss-Seidel para aproximar la Usar el método de Gauss-Seidel para aproximar la
solución del sistema: solución del sistema:
(1)(1)
(2)(2)
(3)(3)
► hasta que: hasta que: %1a
►SoluciónSolución► Primero despejamos las incógnitas xPrimero despejamos las incógnitas x11, x, x22 y x y x33
de las ecuaciones 1, 2 y 3. Así tenemos:de las ecuaciones 1, 2 y 3. Así tenemos:
► Estas son nuestro juego de fórmulas Estas son nuestro juego de fórmulas iterativas. Comenzamos iteraciones, iterativas. Comenzamos iteraciones, sustituyendo xsustituyendo x11=x=x22=0 en la 1ra ecuación, =0 en la 1ra ecuación,
para calcular el 1er valor de xpara calcular el 1er valor de x11::
►Ahora, sustituimos xAhora, sustituimos x11=2.66667 y x=2.66667 y x33=0 =0 en la segunda ecuación, para obtener xen la segunda ecuación, para obtener x22 : :
►Ahora sustituimos xAhora sustituimos x11=2.66667 y =2.66667 y xx22=-2.82381 en la tercera ecuación, =-2.82381 en la tercera ecuación, para obtener xpara obtener x33: :
►Así, tenemos nuestra primera Así, tenemos nuestra primera aproximación a la solución del sistema:aproximación a la solución del sistema:
xx11=2.66667, x=2.66667, x22=-2.82381, x=-2.82381, x33=7.1051=7.1051
► Puesto que todavía no podemos Puesto que todavía no podemos calcular ningún error aproximado, calcular ningún error aproximado, repetimos el proceso pero ahora con los repetimos el proceso pero ahora con los últimos datos obtenidos para las últimos datos obtenidos para las incógnitas:incógnitas:
► Sustituyendo xSustituyendo x22=-2.82381 y =-2.82381 y xx33=7.1051 en la ecuación 1 obtenemos =7.1051 en la ecuación 1 obtenemos xx11=3.6626. Sustituyendo x=3.6626. Sustituyendo x11=3.6626 y =3.6626 y xx33=7.1051 en la ecuación 2 obtenemos =7.1051 en la ecuación 2 obtenemos xx22=-3.24404, finalmente, sustituyendo =-3.24404, finalmente, sustituyendo xx11=3.6626 y x=3.6626 y x22=-3.24404 en la =-3.24404 en la ecuación 3 obtenemos xecuación 3 obtenemos x33=7.06106. =7.06106.
►Así, tenemos la 2da lista de valores de Así, tenemos la 2da lista de valores de aproximación a la solución del aproximación a la solución del sistema: sistema:
►Ahora si podemos calcular los errores Ahora si podemos calcular los errores absolutos para las incógnitas. absolutos para las incógnitas. Tenemos: Tenemos:
►Puesto que no se ha logrado el objetivo, Puesto que no se ha logrado el objetivo, se repite el mismo proceso con los se repite el mismo proceso con los últimos valores obtenidos de cada una de últimos valores obtenidos de cada una de las incógnitas. Note que aunque el error las incógnitas. Note que aunque el error aproximado ya cumple con ser menor aproximado ya cumple con ser menor al 1%, esto se debe de cumplir para los al 1%, esto se debe de cumplir para los tres errores aproximados!tres errores aproximados!
►Por lo tanto repetimos el mismo proceso. Por lo tanto repetimos el mismo proceso. Omitiendo los pasos intermedios, Omitiendo los pasos intermedios, obtenemos: obtenemos:
3,a
►Y en este caso tenemos los siguientes Y en este caso tenemos los siguientes errores aproximados:errores aproximados:
►Vemos que ahora sí se ha cumplido el Vemos que ahora sí se ha cumplido el objetivo para cada uno de los errores objetivo para cada uno de los errores aproximados. aproximados. Por lo tanto, concluimos Por lo tanto, concluimos que la solución aproximada es:que la solución aproximada es:
X1=3.62724, X2=-3.24102, X1=3.62724, X2=-3.24102, X3=7.06250X3=7.06250
EJEMPLO #4EJEMPLO #4
►Programa en MatLab 6.5Programa en MatLab 6.5
<< ÍNDICE
BibliografíaBibliografía Steven Chapra, Raymond Canale. Steven Chapra, Raymond Canale. “Métodos “Métodos
numéricos para ingenieros”, cuarta edición, 2003. numéricos para ingenieros”, cuarta edición, 2003. pp 301-313, 320-321, 344-346.pp 301-313, 320-321, 344-346.
The Jacobi Method, marzo 2004. The Jacobi Method, marzo 2004. (disponible en (disponible en http:/www.netlib2.cs.utk.edu/linalg/html_templatehttp:/www.netlib2.cs.utk.edu/linalg/html_templates/node12.html)s/node12.html)
The Gauss_Seidel Method, marzo 2004. The Gauss_Seidel Method, marzo 2004. (disponible en (disponible en http:/www.netlib2.cs.utk.edu/linalg/html_templatehttp:/www.netlib2.cs.utk.edu/linalg/html_templates/node14.html)s/node14.html)
The Successive Overrelaxation Method, marzo The Successive Overrelaxation Method, marzo 2004. 2004. (disponible en (disponible en http:/www.netlib2.cs.utk.edu/linalg/html_templatehttp:/www.netlib2.cs.utk.edu/linalg/html_templates/node15.html)s/node15.html)
Top Related