360 likes | 716 Views
Instituto Tecnológico de Costa Rica CM 3201 Métodos Numéricos. Método de Gauss-Seidel. 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. Introducción.
E N D
Instituto Tecnológico de Costa Rica CM 3201 Métodos Numéricos Método de Gauss-Seidel 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
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 x1, la 2da para x2 y la tercera para x3, 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: 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:
Ejemplos de convergencia • Iteraciones utilizando las siguientes ecuaciones sin ordenar
Ejemplos de convergencia • Iteraciones utilizando previamente el criterio de diagonal dominante
En Resumen • El 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.
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: convenientes para matrices cuadradas • Tiempo: menor número de operaciones • Desventajas? • Velocidad: convergencialenta • Convergencia: no siempre se obtiene la solución en un número finito de pasos
EJEMPLO #1 << ÍNDICE 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
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
Suponemos los valores iniciales X2 = 0 y X3 = 0 y calculamos X1 • Este valor junto con el de X3se puede utilizar para obtener X2
La primera iteración se completa sustituyendo los valores de X1 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:
Solución • Primero despejamos las incógnitas x1, x2 y x3 de las ecuaciones 1, 2 y 3. Así tenemos: • Estas son nuestro juego de fórmulas iterativas. Comenzamos iteraciones, sustituyendo x1=x2=0 en la 1ra ecuación, para calcular el 1er valor de x1:
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:
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
Bibliografía • Steven Chapra, Raymond Canale. “Métodos numéricos para ingenieros”, cuarta edición, 2003. pp 301-313, 320-321, 344-346. • The Jacobi Method, marzo 2004. (disponible en http:/www.netlib2.cs.utk.edu/linalg/html_templates/node12.html) • The Gauss_Seidel Method, marzo 2004. (disponible en http:/www.netlib2.cs.utk.edu/linalg/html_templates/node14.html) • The Successive Overrelaxation Method, marzo 2004. (disponible en http:/www.netlib2.cs.utk.edu/linalg/html_templates/node15.html)