Instituto Tecnológico de Costa Rica
CM 3201 Métodos Numéricos
Ing. Marvin Hernández
II Semestre 2008
ÍNDICE
Introducción
Descripción del Criterio de Convergencia
Errores
Ejemplo 1
Ejemplo 2
Ejemplo 3
Ejemplo 4
Bibliografía
ÍNDICE
Introducción
Descripción del Criterio de Convergencia
Errores
Ejemplo 1
Ejemplo 2
Ejemplo 3
Ejemplo 4
Bibliografía
Introducción
Este método se basa en la aproximación iterativa propuesta por Seidel en 1874 en la Academia de Ciencias de Munich, para la aplicación al problema del flujo de potencia.
La ecuación anterior es el corazón del algoritmo iterativo. La iteración comienza con una estimación de las magnitudes y ángulos de todas las barras del sistema, y se van recalculando las tensiones utilizando los mejores valores disponibles. Esto es, para calcular la tensión Vk se utilizan los V1...k-1 ya actualizados, y los Vk...n del paso anterior. El método tiene una convergencia extremadamente lenta pero segura (excepto para problemas mal condicionados, o sin convergencia posible).
El método de Gauss-Seidel pertenece a la familia de los métodos iterativos utilizados para obtener la o las raíces de una función cualquiera, especialmente en forma de matrices de n ecuaciones [A]{X}={B}
Si los elementos de la diagonal de la matriz que se está solucionando no son todos cero la 1era se resuelve para x 1, la 2da para x2 y la tercera para x 3, y la enésima para xn para obtener:
X1= ( b1 a12x2 a13x3 ) / a11 –
–
X2 = ( b2 a21x1 a23x3 ) / a22 –
–
X3 = ( b3 a31x1 a32x2 ) / a33 . . . Xn = ( bn an1x1 - - ann-1xn-1 ) / ann –
–
–
…
Teorema
Considerar un sistema de n ecuaciones con n incógnitas, es decir, se tiene una matriz de coeficientes A cuadrada. Si el valor absoluto del elemento de la diagonal de cada renglón de A es más grande que la suma de los valores absolutos de los otros elementos de tal renglón entonces el sistema tiene una solución única. El método iterativo de Gauss-Seidel convergerá a la solución sin importar los valores iniciales.
Así es como empieza el proceso iterativo suponiendo que los valores iniciales de x son cero. Luego al obtener el primer x1 se evalúa en (2) junto con el valor previo de x3 y de igual forma se procede en (3) con el x2 calculado y el x1 previo, para finalmente volver a (1) bajo la misma fórmula, haciendo converger el sistema.
<< ÍNDICE
Criterio de Convergencia 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: a 21 a 22
a12
1
a11
1
El valor absoluto de las pendientes en la ecuación, debe ser menor que la unidad para asegurar la convergencia. a11 a12
a22 a 21
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: n
aii ai , j j 1
Ejemplos de convergencia Iteraciones
Divergencia Seidel X1 X2 0.00 0.00 26.00 0.00 26.00 20.78 1.44 20.78 1.44 -9.23 36.91 -9.23 36.91 34.12 -14.32 34.12 -14.32 -28.50 59.68 -28.50 59.68 61.95 -47.21 61.95 -47.21 -68.70 107.19 -68.70 107.19 120.01 -115.83 120.01 -115.83 -152.57
utilizando las siguientes ecuaciones sin ordenar
u : 11 x1 13 x2
286
v : 11 x1 9 x2 99 Divergencia Seidel 70 60 50 40 30 20
2 X
10 0 -20
-10
-10
0
10
20
30
-20 -30 -40
X1
40
50
60
70
Ejemplos de convergencia Iteraciones
Convergencia Seidel X1 X2 0.00 0.00 9.00 0.00 9.00 14.38 20.77 14.38 20.77 4.43 12.62 4.43 12.62 11.32 18.26 11.32 18.26 6.55 14.36 6.55 14.36 9.85 17.06 9.85 17.06 7.56 15.19 7.56 15.19 9.15 16.48 9.15 16.48 8.05 15.59 8.05 15 59 8 81
utilizando previamente el criterio de diagonal dominante
v : 11 x1 9 x2 99 u : 11 x1 13 x2
286
Convergencia Seidel 16
14
12
10
2 X 8 6
4
2
0 0
5
10
X1
15
20
25
En Resumen El
método de Gauss-Seidel está basado en el concepto de punto fijo, es decir ( x i = 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 a a ii ij i1 j i
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- Seidel
Ventajas? • Espacio: • Tiempo:
convenientes para matrices cuadradas menor número de operaciones
Desventajas? • Velocidad: convergencia lenta • Convergencia: no siempre se obtiene la solución en un número finito de pasos
Análisis de error 1
1
ek 1 B Cek B C ek 1
ek 1 B C
2
1
ek 1 B C
k 1
e0
condición suficiente de convergencia : 1
B C 1
EJEMPLO #1 ►
Resolver el siguiente sistema de ecuación por el método Gauss-Seidel utilizando un E= 0.001. 0.1 X1 + 7.0 X2 - 0.3 X3 = -19.30 3.0 X1 - 0.1 X2 - 0.2 X3 = 7.85 0.3 X1 - 0.2 X2 - 10.0 X3 = 71.40 << ÍNDICE
►
SOLUCIÓN:
Primero ordenamos las ecuaciones, de modo que en la diagonal principal estén los coeficientes mayores para asegurar la convergencia. 3.0 X1 - 0.1 X2 - 0.2 X3 = 7.85 ► 0.1 X1 + 7.0 X2 - 0.3 X3 = -19.30 ► 0.3 X1 - 0.2 X2 - 10.0 X3 = 71.40 ►
Despejamos cada una de las variables sobre la diagonal: ►
►
►
Suponemos los valores iniciales X 2 = 0 y X 3 = 0 y calculamos X 1
Este valor junto con el de X 3 se puede utilizar para obtener X 2
►
►
La primera iteración se completa sustituyendo los valores de X 1 y X2 calculados obteniendo:
En la segunda iteración, se repite el mismo procedimiento:
Comparando los valores calculados entre la primera y la segunda iteración ►
Como podemos observar, no se cumple la condición ►
Entonces tomamos los valores calculados en la última iteración y se toman como supuestos para la siguiente iteración. Se repite entonces el proceso:
►
►
Comparando de nuevo los valores obtenidos
Como se observa todavía no se cumple la condición
Así que hacemos otra iteración
►
►
Comparando los valores obtenidos
►
Dado que se cumple la condición, el resultado es:
X1 = 3.0 X2 = -2.5 X3 = 7.0
EJEMPLO #2 ►
Usar el método de Gauss-Seidel para aproximar la solución del sistema:
(1) (2) (3)
►
hasta que:
a 1%
► Solución ►
►
Primero despejamos las incógnitas x 1, x2 y x3 de las ecuaciones 1, 2 y 3. Así tenemos:
Estas son nuestro juego de fórmulas iterativas. Comenzamos iteraciones, sustituyendo x 1=x2=0 en la 1ra ecuación, para calcular el 1er valor de x 1:
Ahora, sustituimos x1=2.66667 y x3=0 en la segunda ecuación, para obtener x2 :
►
Ahora sustituimos x1=2.66667 y x2=-2.82381 en la tercera ecuación, para obtener x3:
►
Así, tenemos nuestra primera aproximación a la solución del sistema:
►
x1=2.66667, x2=-2.82381, x3=7.1051
►
►
Puesto que todavía no podemos calcular ningún error aproximado, repetimos el proceso pero ahora con los últimos datos obtenidos para las incógnitas: Sustituyendo x2=-2.82381 y x3=7.1051 en la ecuación 1 obtenemos x1=3.6626. Sustituyendo x1=3.6626 y x3=7.1051 en la ecuación 2 obtenemos x2=-3.24404, finalmente, sustituyendo x1=3.6626 y x2=3.24404 en la ecuación 3 obtenemos x3=7.06106.
Así, tenemos la 2da lista de valores de aproximación a la solución del sistema:
►
Ahora si podemos calcular los errores absolutos para las incógnitas. Tenemos:
►
Puesto que no se ha logrado el objetivo, se repite el mismo proceso con los últimos valores obtenidos de cada una de las incógnitas. Note que aunque el error aproximado ya cumple con ser menor al 1%, esto se debe de cumplir para los tres errores aproximados! ► Por lo tanto repetimos el mismo proceso. Omitiendo los pasos intermedios, obtenemos: ►
a
,3
Y en este caso tenemos los siguientes errores aproximados:
►
Vemos que ahora sí se ha cumplido el objetivo para cada uno de los errores aproximados. Por lo tanto, concluimos que la solución aproximada es:
►
X1=3.62724, X2=-3.24102, X3=7.06250
EJEMPLO #4 ►
Programa en MatLab 6.5
<< ÍNDICE