Vous êtes sur la page 1sur 23

Mtodo de Jacobi y Gauss-Seidel: Visual Basic 6

Agosto 31, 2008 Son dos mtodos nmericos, que nos permite hallar soluciones a sistemas con el mismo nmero de ecuaciones que incognitas. En los dos mtodos se realiza el siguiente proceso, con una pequea variacin en GaussSeidel Tenemos estas ecuaciones: 5x-2y+z=3 -x-7y+3z=-2 2x-y+8z=1 1. Despejar cada incgnita en funcin de las dems. x=(3+2y-z)/5 y=(x-3z-2)/-7 z=(1-2x+y)/8 2. Dar valores iniciales a las incgnitas x1=0 y1=0 z1=0

Por Jacobi: Reemplazar en cada ecuacin los valores iniciales, esto nos dar nuevos valores que sern usados en la prxima iteracin x=(3+2*0-0)/5=0,60 y=(0-3*0-2)/-7=0,28 z=(1-2x+y)/8=0,12 Por Gauss-Seidel Reemplazar en cada ecuacin los valores mas prximos hallados. x=(3+2*0-0)/5=0,6 y=(0,6-3*0-2)/-7=0,2 z=(1-2*0,6+0,2)/8=0

Se realiza cuantas iteraciones se desee, usando como valores iniciales los nuevos valores hallados. Se puede detener la ejecucin del algoritmo al calcular el error del clculo, el cual lo podemos hallar con esta frmula: sqr( (x1-x0)^2 + (y1-y0)^2 +(z1-z0)^2 ) Con jacobi

Con Gauss-Seidel

La principal diferencia, es que como el mtodo de gauss_seidel utiliza los valores inmediatamente encontrados, entonces hace que todo el proceso sea ms rpido, y como consecuencia hace de ste, un mtodo mas eficaz. Las frmulas usadas en la hoja de excel para el mtodo de Jacobi son

=(3+2*D5-E5)/5 =(C5-3*E5-2)/-7 =(1-2*C5+D5)/8 =RAIZ((C6-C5)^2 + (D6-D5)^2 + (E6-E5)^2) Que corresponde a la variable X,Y,Z y Error respectivamente. Y para el mtodo de Gauss-Seidel: =(3+2*J5-K5)/5 =(I6-3*K5-2)/-7 =(1-2*I6+J6)/8 =RAIZ((I6-I5)^2 + (J6-J5)^2 + (K6-K5)^2) El cdigo fuente y el ejecutable del programa en visual basic 6 puede ser descargado de AC La clave del comprimido es

Descomposicin LU y mtodo de Gauss-Seidel


Resumen: A lo largo de las pginas de este trabajo se presenta un marco terico que introduce a cada tema, al tiempo que se muestran en total cuatro ejercicios resueltos con explicaciones detalladas sobre cada proceso realizado.

Rating: Tell a Friend

476 visitas Autor: Jaime Montoya


INTRODUCCIN En el presente documento se explican detalladamente dos importantes temas: 1. Descomposicin LU. 2. Mtodo de Gauss-Seidel.

Se trata de dos importantes herramientas que sirven para encontrar soluciones de sistemas de ecuaciones. A lo largo de las pginas de este trabajo se presenta un marco terico que introduce a cada tema, al tiempo que se muestran en total cuatro ejercicios resueltos con explicaciones detalladas sobre cada proceso realizado. Adems de las explicaciones, se muestran continuamente imgenes y matrices que permiten comprender con toda claridad cada uno de los procesos que se van siguiendo en el anlisis de cada paso realizado. Las explicaciones son detalladas y tienen el fin de permitir al lector comprender cada tema aun cuando sea primera vez que lo estudie. Normalmente estos temas tienen procesos largos y por ello son ideales para programar por computadora y no solamente para hacerlos sobre el papel. Programar estos temas permite incluso obtener una mejor comprensin de la teora aqu presentada. OBJETIVOS

OBJETIVO GENERAL: Comprender las diferentes formas de solucionar sistemas de ecuaciones lineales por medio de los mtodos de descomposicin LU y Gauss-Seidel. OBJETIVOS ESPECFICOS: Proporcionar al estudiante una idea clara y comprensible de los mtodos de descomposicin LU y Gauss-Seidel. Mostrar cmo aplicar los mtodos mencionados para facilitar la solucin de sistemas de ecuaciones, y poder as programar dichos mtodos en la computadora. DESCOMPOSICIN LU

Su nombre se deriva de las palabras inglesas Lower" y Upper, que en espaol se traducen como Inferior y Superior. Estudiando el proceso que se sigue en la descomposicin LU es posible comprender el por qu de este nombre, analizando cmo una matriz original se descompone en dos matrices triangulares, una superior y otra inferior. La descomposicin LU involucra solo operaciones sobre los coeficientes de la matriz [A], proporcionando un medio eficiente para calcular la matriz inversa o resolver sistemas de lgebra lineal. Primeramente se debe obtener la matriz [L] y la matriz [U]. [L] es una matriz diagonal inferior con nmeros 1 sobre la diagonal. [U] es una matriz diagonal superior en la que sobre la diagonal no necesariamente tiene que haber nmeros 1. El primer paso es descomponer o transformar [A] en [L] y [U], es decir obtener la matriz triangular inferior [L] y la matriz triangular superior [U]. PASOS PARA ENCONTRAR LA MATRIZ TRIANGULAR SUPERIOR (MATRIZ [U]) 1. Hacer cero todos los valores abajo del pivote sin convertir este en 1. 2. Para lograr lo anterior se requiere obtener un factor el cual es necesario para convertir a cero los valores abajo del pivote. 3. Dicho factor es igual al nmero que se desea convertir en cero entre el nmero pivote. 4. Este factor multiplicado por -1 se multiplica luego por el pivote y a ese resultado se le suma el valor que se encuentra en la posicin a cambiar (el valor en la posicin que se convertir en cero). Esto es: - factor * pivote + posicin a cambiar PASOS PARA ENCONTRAR LA MATRIZ TRIANGULAR INFERIOR (MATRIZ [L]) Para encontrar la matriz triangular inferior se busca hacer ceros los valores de arriba de cada pivote, as como tambin convertir en 1 cada pivote. Se utiliza el mismo concepto de factor explicado anteriormente y se ubican todos los factores debajo de la diagonal s egn corresponda en cada uno. Esquemticamente se busca lo siguiente:

Debido a que [A] = [L][U], al encontrar [L] y [U] a partir de [A] no se altera en nada la ecuacin y se tiene lo siguiente:

Por lo tanto, si Ax = b, entonces LUx = b, de manera que Ax = LUx = b. PASOS PARA RESOLVER UN SISTEMA DE ECUACIONES POR EL MTODO DE DESCOMPOSICIN LU 1. Obtener la matriz triangular inferior L y la matriz triangular superior U. 2. Resolver Ly = b (para encontrar y). 3. El resultado del paso anterior se guarda en una matriz nueva de nombre y. 4. Realizar Ux = y (para encontrar x). 5. El resultado del paso anterior se almacena en una matriz nueva llamada x, la cual brinda los valores correspondientes a las incgnitas de la ecuacin. EJEMPLO 1 DE DESCOMPOSICIN LU PROBLEMA: Encontrar los valores de x1, x2 y x3 para el siguiente sistema de ecuaciones:

NOTA: Recurdese que si la matriz es 2x2 se har 1 iteracin; si es 3x3, 2 iteraciones; si es 4x4, 3 iteraciones; y as sucesivamente. SOLUCIN:

ITERACIN 1 factor 1 = (a21 / a11) = 5 / 4 = 1.25 factor 2 = (a31 / a11) = 1 / 4 = 0.25 Encontrando [U] fila 2 = - (factor 1) * (fila 1) + (fila 2) fila 3 = - (factor 2) * (fila 1) + (fila 3) a11 = a11 a12 = a12 a13 = a13 a21 = - (1.25) * (4) + (5) = 0 a22 = - (1.25) * (- 2) + (1) = 3.5 a23 = - (1.25) + (- 1) + (- 1) = 0.25 a31 = - (0.25) * (4) + (1) = 0 a32 = - (0.25) * (- 2) + (2) = 2.5 a33 = - (0.25) * (- 1) + (- 1) = - 0.75

Encontrando [L]

ITERACIN 2 factor 3 = (u32 / u22) = 2.5 / 3.5 = 0.7142857143 Encontrando [U] fila 3 = - (factor 3) * (fila 2) + (fila 3) a31 = - (2.5 / 3.5) * (0) + (0) = 0 a32 = - (2.5 / 3.5) * (3.5) + (2.5) = 0

a33 = - (2.5 / 3.5) * (0.25) + (- 0.75) = - 0.9285714286

Encontrando [L]

Ahora ya se tiene la matriz [U] y la matriz [L]. El siguiente paso es resolver Ly = b para encontrar la matriz y. En pocas palabras es como que se pidiera resolver el siguiente sistema de ecuaciones, encontrando los valores de y1, y2 y y3:

Al resolver el sistema anterior, se obtienen los siguientes valores para y1, y2 y y3:

El ltimo paso es resolver Ux = y para encontrar la matriz x. En otras palabras es como que se pidiera resolver el siguiente sistema de ecuaciones, encontrando los valores de x1, x2 y x3:

La solucin del sistema es:

Este es finalmente el valor de x1, x2 y x3; es decir, la respuesta del ejercicio utilizando la descomposicin LU. EJEMPLO 2 DE DESCOMPOSICIN LU PROBLEMA: Encontrar los valores de x1, x2 y x3 para el siguiente sistema de ecuaciones:

SOLUCIN:

ITERACIN 1 factor 1 = (a21 / a11) = 5/11 = 0.4545454545 factor 2 = (a31 / a11) = 4/11 = 0.3636363636

Encontrando [U] fila 2 = - (factor 1) * (fila 1) + (fila 2) fila 3 = - (factor 2) * (fila 1) + (fila 3) a11 = a11 a12 = a12 a13 = a13 a21 = - (0.4545454545) * (11) + (5) = 0 a22 = - (0.4545454545) * (- 3) + (- 2) = - 0.6363636365 a23 = - (0.4545454545) + (- 2) + (- 8) = - 7.0909090919 a31 = - (0.3636363636) * (11) + (4) = 0 a32 = - (0.3636363636) * (- 3) + (- 7) = - 5.909090909 a33 = - (0.3636363636) * (- 2) + (2) = 2.7272727272

Encontrando [L]

ITERACIN 2 factor 3 = (u32/u22) = - 5.909090909 / - 0.6363636365 = 9.285714284 Encontrando [U] fila 3 = - (factor 3) * (fila 2) + (fila 3) a31 = - (9.285714284) * (0) + (0) = 0 a32 = - (9.285714284) * (- 0.6363636365) + (- 5.909090909) = 0 a33 = - (9.285714284) * (- 7.0909090919) + (2.7272727272) = 68.57142857

Encontrando [L]

Ahora ya se tiene la matriz [U] y la matriz [L]. El siguiente paso es resolver Ly = b para encontrar la matriz y. En pocas palabras es como que se pidiera resolver el siguiente sistema de ecuaciones, encontrando los valores de y1, y2 y y3:

Al resolver el sistema anterior, se obtienen los siguientes valores para y1, y2 y y3:

El ltimo paso es resolver Ux = y para encontrar la matriz x. En otras palabras es como que se pidiera resolver el siguiente sistema de ecuaciones, encontrando los valores de x1, x2 y x3:

La solucin del sistema es:

Este es finalmente el valor de x1, x2 y x3; es decir, la respuesta del ejercicio utilizando la descomposicin LU. MTODO DE GAUSS-SEIDEL El mtodo de Gauss-Seidel es un mtodo iterativo y por lo mismo resulta ser bastante eficiente. Se comienza planteando el sistema de ecuaciones con el que se va a trabajar: De la ecuacin 1 despejar x1, de la ecuacin 2 despejar x2, , de la ecuacin n despejar xn. Esto da el siguiente conjunto de ecuaciones:

Este ltimo conjunto de ecuaciones son las que forman las frmulas iterativas con las que se va a estar trabajando. Para comenzar el proceso iterativo, se le da el valor de cero a las variables x2,, xn; esto dar un primer valor para x1. Ms precisamente, se tiene que:

Enseguida, se sustituye este valor de x1 en la ecuacin 2, y las variables x3,, xn siguen teniendo el valor de cero. Esto da el siguiente valor para x2: Estos ltimos valores de x1 y x2, se sustituyen en la ecuacin 3, mientras que x4,, xn siguen teniendo el valor de cero; y as sucesivamente hasta llegar a la ltima ecuacin. Todo este paso arrojar una lista de primeros valores para las incgnitas, la cual conforma el primer paso en el proceso iterativo. Para una mejor comprensin esto se simbolizar de esta forma:

Se vuelve a repetir el proceso, pero ahora sustituyendo estos ltimos datos en vez de ceros como al inicio. Se obtendr una segunda lista de valores para cada una de las incgnitas, lo cual se simbolizar as:

En este momento se pueden calcular los errores aproximados relativos, respecto a cada una de las incgnitas. La lista de errores se presenta a continuacin:

El proceso se vuelve a repetir hasta que:

donde se debe prefijar convenientemente. EJEMPLO 1 DEL MTODO DE GAUSS-SEIDEL PROBLEMA: Usar el mtodo de Gauss-Seidel para aproximar la solucin del sistema:

hasta que:

SOLUCIN: Primero se despejan las incgnitas x1, x2 y x3 de las ecuaciones 1, 2 y 3 respectivamente. Se tiene:

Estas ltimas son el juego de frmulas iterativas que se estar utilizando.

Puesto que todava no se puede calcular ningn error aproximado, se repite el proceso pero ahora con los ltimos datos obtenidos para las incgnitas:

Es as como se tiene la segunda lista de valores de aproximacin a la solucin del sistema:

Ahora se pueden calcular los errores absolutos para cada una de las incgnitas:

Puesto que no se ha logrado el objetivo, se debe repetir el mismo proceso con los ltimos valores

obtenidos de cada una de las incgnitas. Ntese que aunque el error aproximado ya cumple con ser menor al 1%, esto se debe cumplir para los tres errores aproximados. Por lo tanto se repite el mismo proceso. Omitiendo los pasos intermedios, se obtiene:

En este caso se tienen los siguientes errores aproximados:

Se puede observar que ahora se ha cumplido el objetivo para cada uno de los errores aproximados. Por lo tanto, se concluye que la solucin aproximada es:

Importante observacin respecto al mtodo de Gauss-Seidel: Es lgico preguntarse si siempre el mtodo de Gauss-Seidel converge a la solucin del sistema de ecuaciones y tambin es lgico esperar que la respuesta es NO. Un resultado de Anlisis numrico da una condicin suficiente para la convergencia del mtodo. Teorema: El mtodo de Gauss-Seidel converge a la solucin del sistema si se cumple la condicin de que la matriz de coeficientes del sistema sea una matriz diagonalmente dominante, es decir, si se cumple la siguiente condicin:

La condicin de ser una matriz diagonalmente dominante simplemente significa que los elementos de la diagonal son mayores (en valor absoluto) que la suma de los valores absolutos de los dems elementos del mismo rengln. Ntese que en el ejemplo anterior, la matriz s es diagonalmente dominante y por lo tanto, el mtodo de Gauss-Seidel s converge a la solucin del sistema. Sin embargo, la condicin de la matriz diagonalmente dominante, solamente es una condicin suficiente pero no necesaria, es decir, existen sistemas de ecuaciones que no cumplen con la condicin y que s convergen a la solucin y tambin existen sistemas de ecuaciones que no cumplen con la condicin y que no convergen a la solucin. Finalmente, obsrvese que aunque un sistema no cumpla con la condicin de ser diagonalmente dominante, es posible a veces, lograr que s se cumpla con esta condicin mediante un intercambio de renglones, como se ver en el siguiente ejemplo: EJEMPLO 2 DEL MTODO DE GAUSS-SEIDEL PROBLEMA: Usar el mtodo de Gauss-Seidel para aproximar la solucin del sistema:

SOLUCIN: En este caso se puede observar que el sistema no es diagonalmente dominante, lo cual se comprueba con los siguientes clculos: Primera fila: |a11| > (|a12| + |a13|) 5 > (1.4 + 2.7) 5 > 4.1; es cierto. La condicin se cumple para la primera fila. Segunda fila: |a22| > (|a21| + |a23|) 2.5 > (0.7 + 15) 2.5 > 15.7; no es cierto.

La condicin no se cumple para la segunda fila. |a33| > (|a31| + |a32|) 4.4 > (3.3 + 11) 4.4 > 14.3; no es cierto. La condicin no se cumple para la tercera fila. Para que el sistema sea diagonalmente dominante, la condicin debe cumplirse para todas las filas. Por lo tanto, el sistema anterior no es diagonalmente dominante. NOTA: Recurdese que la diagonal principal est compuesta por a11, a22 y a33. Sin embargo, al hacer el intercambio del rengln 2 por el rengln 3, se tiene el siguiente sistema:

En este caso se puede observar que el sistema s es diagonalmente dominante, lo cual se comprueba con los siguientes clculos: Primera fila: |a11| > (|a12| + |a13|) 5 > (1.4 + 2.7) 5 > 4.1; es cierto. La condicin se cumple para la primera fila. Segunda fila: |a22| > (|a21| + |a23|) 11 > (3.3 + 4.4) 11 > 7.7; es cierto. La condicin se cumple para la segunda fila. |a33| > (|a31| + |a32|) 15 > (0.7 + 2.5) 15 > 3.2; es cierto. La condicin se cumple para la tercera fila. Para que el sistema sea diagonalmente dominante, la condicin debe cumplirse para todas las filas. En este caso efectivamente la condicin se cumple para todas las filas, por lo cual el sistema anterior es diagonalmente dominante. Por lo tanto se procede a despejar x1, x2 y x3 de las ecuaciones 1, 2 y 3 respectivamente:

Se comienza el proceso iterativo sustituyendo los valores de x2 = 0 x3 = 0 en la ecuacin 1 para obtener x1:

Ahora se sustituye x1 = -18.84 y x3 = 0 en la ecuacin 2 para obtener x2:

Por lo tanto los valores obtenidos en la primera iteracin son:

Puesto que slo se tiene la primera aproximacin de la solucin del sistema, se debe seguir avanzando en el proceso iterativo. Sustituyendo x2 = -3.152 y x3 = -0.04613 en la ecuacin 1, se obtiene x1 = -19.69765; sustituyendo x1 = -19.69765 y x3 = -0.04613 en la ecuacin 2, se obtiene x2 = -3.42775; sustituyendo x1 = -19.69765 y x2 = -3.42775 en la ecuacin 3, se obtiene x3 = 0.05207. Por lo tanto, la segunda aproximacin es:

Ahora se pueden calcular los errores aproximados para cada una de las incgnitas:

Puesto que no se ha cumplido el objetivo, se debe seguir avanzando en el proceso iterativo. Se resumen los resultados de esta manera: Tercera iteracin:

Cuarta iteracin:

As, el objetivo se ha logrado hasta la cuarta iteracin y se tiene que los valores aproximados de la solucin del sistema son:

CONCLUSIN Luego de haber estudiado a profundidad estos temas o herramientas para resolver sistemas de ecuaciones, se concluye que para resolver estos sistemas de ecuaciones lineales existen diferentes mtodos, pero depender del gusto de cada persona elegir uno en especfico. Sin embargo, muchas veces la eleccin no ser arbitraria, pues cada mtodo tiene sus ventajas y sus desventajas. Algunos mtodos son ms exactos, otros ms fciles de programar, otros ms cortos, etc. Para ser capaces de elegir un mtodo apropiado, lo primero que se necesita es comprender cmo se desarrolla cada uno de estos procesos. Luego de la elaboracin de este reporte, ya se tiene una buena base y el conocimiento de los temas para poder comenzar a programar en la computadora estos procesos. Como se mencion en la introduccin, los dos mtodos estudiados en este trabajo son ideales para programarlos por computadora, pues son iterativos y muy largos. Trabajar esto en papel podra resultar extremadamente largo y tedioso. Por ello son mtodos ideales para trabajarlos en computadora. El aprendizaje adquirido en esta investigacin ha sido de gran valor y seguramente servir de la misma manera a aquellos quienes posteriormente lean estas explicaciones y lo expuesto en este reporte. BIBLIOGRAFA 1. C. Chapra, S.; P. Canale, R. Mtodos Numricos para Ingenieros. (3 ed.). McGrawHill. 2. Factorizacin LU. Wikipedia. Extrado el 22 Enero, 2007, de http://es.wikipedia.org/wiki/Factorizaci%C3%B3n_LU 3. MTOTO DE GAUSS-SEIDEL. Universidad Autnoma de Ciudad Jurez (UACJ). Extrado el 22 Enero, 2007, de http://docentes.uacj.mx/gtapia/AN/Unidad3/Seidel/SEIDEL.htm AUTOR

Mtodo de Gauss-Seidel
Anuncios Google

MBA Cursada Virtual www.Centrum.Pucp.edu.pe/MBA - Reconocida Escuela de Negocios de Per. Inscrbete a las Charlas.

Aprender Ingls www.GanandoConIngles.com - Busca una Perfecta Pronunciacin? Aqu Tiene la Respuesta. Descbrala Programa: Excel Avanzado www.bsgrupo.com - Programa tablas dinmicas,macros y grficos.Inicio OnLine 24 Setiembre Cursos de francs en Lyon www.institut-lyonnais.com - A la segunda ciudad de Francia Desde 212 /mes

El mtodo de eliminacin para resolver ecuaciones simultneas suministra soluciones suficientemente precisas hasta para 15 o 20 ecuaciones. El nmero exacto depende de las ecuaciones de que se trate, del nmero de dgitos que se conservan en el resultado de las operaciones aritmticas, y del procedimiento de redondeo. Utilizando ecuaciones de error, el nmero de ecuaciones que se pueden manejar se puede incrementar considerablemente a ms de 15 o 20, pero este mtodo tambin es imprctico cuando se presentan, por ejemplo, cientos de ecuaciones que se deben resolver simultneamente. El mtodo de inversin de matrices tiene limitaciones similares cuando se trabaja con nmeros muy grandes de ecuaciones simultneas. Sin embargo, existen varias tcnicas que se pueden utilizar, para resolver grandes nmeros de ecuaciones simultneas. Una de las tcnicas ms tiles es el mtodo de Gauss-Seidel. Ninguno de los procedimientos alternos es totalmente satisfactorio, y el mtodo de Gauss-Seidel tiene la desventaja de que no siempre converge a una solucin o de que a veces converge muy lentamente. Sin embargo, este mtodo convergir siempre a una solucin cuando la magnitud del coeficiente de una incgnita diferente en cada ecuacin del conjunto, sea suficientemente dominante con respecto a las magnitudes de los otros coeficientes de esa ecuacin. Es difcil definir el margen mnimo por el que ese coeficiente debe dominar a los otros para asegurar la convergencia y es an ms difcil predecir la velocidad de la convergencia para alguna combinacin de valores de los coeficientes cuando esa convergencia existe. No obstante, cuando el valor absoluto del coeficiente dominante para una incgnita diferente para cada ecuacin es mayor que la suma de los valores absolutos de los otros coeficientes de esa ecuacin, la convergencia est asegurada. Ese conjunto de ecuaciones simultneas lineales se conoce como sistema diagonal. Un sistema diagonal es condicin suficiente para asegurar la convergencia pero no es condicin necesaria. Afortunadamente, las ecuaciones simultneas lineales que se derivan de muchos problemas de ingeniera, son del tipo en el cual existen siempre coeficientes dominantes. La secuencia de pasos que constituyen el mtodo de Gauss-Seidel es la siguiente: 1. Asignar un valor inicial a cada incgnita que aparezca en el conjunto. Si es posible hacer una hiptesis razonable de stos valores, hacerla. Si no, se pueden asignar valores seleccionados arbitrariamente. Los valores iniciales utilizados no afectarn la convergencia como tal, pero afectarn el nmero de iteraciones requeridas para dicha convergencia.

2.Partiendo de la primera ecuacin, determinar un nuevo valor para la incgnita que tiene el coeficiente ms grande en esa ecuacin, utilizando para las otras incgnitas los valores supuestos. 3.Pasar a la segunda ecuacin y determinar en ella el valor de la incgnita que tiene el coeficiente ms grande en esa ecuacin, utilizando el valor calculado para la incgnita del paso 2 y los valores supuestos para las incgnitas restantes. 4.Continuar con las ecuaciones restantes, determinando siempre el valor calculado de la incgnita que tiene el coeficniente ms grande en cada ecuacin particular, y utilizando siempre los ltimos valores calculados para las otras incgnitas de la ecuacin. (Durante la primera iteracin, se deben utilizar los valores supuestos para las incgnitas hasta que se obtenga un valor calculado). Cuando la ecuacin final ha sido resuelta, proporcionando un valor para la nica incgnita, se dice que se ha completado una iteracin. 5.Continuar iterando hasta que el valor de cada incgnita, determinado en una iteracin particular, difiera del valor obtenido en la iteracin previa, en una cantidad menor que cierto seleccionado arbitrariamente. El procedimiento queda entonces completo. Refirindonos al paso 5, mientras menor sea la magnitud del seleccionado, mayor ser la precisin de la solucin. Sin embargo, la magnitud del epsilon no especifica el error que puede existir en los valores obtenidos para las incgnitas, ya que sta es una funcin de la velocidad de convergencia. Mientras mayor sea la velocidad de convergencia, mayor ser la precisin obtenida en los valores de las incgnitas para un dado.

Mtodo Gauss Seidel


By geronimo | Marzo 2, 2008 Este es uno de los mtodos mas interesantes del anlisis numrico y particualmente til ya que nos permite encontrar la solucin de un sistema de n ecuaciones con n incgnitas. Para comenzar es preciso mencionar que es un mtodo iterativo, es decir que debe aplicarse recursivamente hasta encontrar una solucion adecuada o con un error considerablemente pequeo. En cada iteracin obtenemos una solucin posible del sistema con un error determinado, a medida que aplicamos nuevamente el mtodo, la solucin puede ser ms precisa, entonces se dice que el sistema converge, pero si al aplicar el mtodo reiteradas veces la solucin tiene un error (ya explicaremos como se calcula este error) cada vez mayor se dice que el sistema no converge y no se puede resolver el sistema de ecuaciones por este mtodo.

Bien proseguir con la explicacin del mtodo y luego aclarar los detalles necesarios para determinar la eficacia del mismo. Teniendo el siguiente sistema de ecuaciones:

Despejamos x1 de la ecuacin 1, x2 de la ecuacin 2, , xn de la ecuacin n, quedando:

Desde la formula anterior resultan las frmulas que se debern ir aplicando en las diferentes iteraciones. Para comenzar a aplicar el mtodo debemos asignar un valor arbitrario a las variables x2,xn con el fin de obtener x1. Lo mas conveniente en este caso es que los valores comiencen en cero, lo cual nos facilitara el trabajo ya que se reduce el clculo de las primeras soluciones, entonces de esto resulta que:

Ahora despejamos x2 de la ecuacin 2 y reemplazamos a x1 por el valor obtenido en la ecuacin anterior. De esto nos queda:

Una vez que tenemos x2, despejamos x3 de la ecuacin 3 y as sucesivamente con las n ecuaciones, cada vez asignando el valor de las x1, x2, xn-1 obtenido en el paso anterior. Cuando hemos despejado las xn, tenemos lo que se conoce como primera solucin o solucin de la primer iteracin:

Con los nuevos valores de x1, x2,,xn aplicamos los mismos pasos anteriores pero con los nuevos valores de las xn, de esta manera conseguimos una segunda solucin:

Al tener esta segunda solucin estamos en condiciones de calcular el error que se calcula como sigue:

As, repetimos el mtodo tantas veces hasta que el error sea muy pequeo o los suficientemente aceptable. Ahora solo queda mencionar que para que un sistema sea convergente se debe cumplir que la matriz de coeficientes sea diagonalmente dominante, y para ello se debe verificar la siguiente expresin:

Si no se cumple esa condicin, se puede permutar las filas de la matriz, con el fin de poder convertirla en una diagonalmente dominante.

Ahora mostrar un ejemplo, mediante el uso de un programa hecho en Visual Basic que hice para aplicar el mtodo. El programa podr ser descargado desde aqui. Para que todos los puedan ver y tratar de entender el funcionamiento del mtodo. Al iniciar el programa indico que la matriz de coeficientes es de 3 filas y 3 columnas (la matriz siempre tiene que ser cuadrada). Entonces supongamos los siguientes coeficientes:

Luego cargo la matriz b que es la que contiene el valor de los resultados de las ecuaciones:

Hago clic en el botn verificar convergencia y si el programa me dice que se verifica, indico cuantas iteracciones quiero realizar y pulso en el botn Calcular solucin. De esta forma el programa me arroja la solucin del sistema (el valor de x1, x2,xn) y me muestra el error, denominado por el programa como Norma Infinito.

Se puede apreciar que la norma infinito no las muestra en notacin cientfica, ya que es un error muy pequeo. Tambin el programa tiene la opcin de guardar todas las iteracciones que hizo, hasta llegar a la ultima, esta opcin es muy til ya que se pude ver como fueron variando las soluciones hasta llegar a la ltima iteraccin indicada, a medida que se hacen mas iteracciones, mas precisa es la solucin. Para finalizar, aqu muestro la secuencia que me arroj el programa para este ejemplo:
Resolucion de Sistema de Ecuaciones Lineales -------------------------------------------Matriz A -------9 -3 2 -5 25 3 -4 2 11 Matriz B --------9 2 15 -------------------------------------------Solucion N:1 ------------

X1=-1 X2=-0,12 X3= 1,02181818181818 Norma Infinito: 1,02181818181818 Solucion N:2 X1=-1,26707070707071 X2=-0,296032323232323

X3= 0,956707438016529 Norma Infinito: 0,267070707070707 Solucion N:3 X1=-1,31127909397 X2=-0,297060711355984 X3= 0,940818640621087 Norma Infinito: 4,42083868992962E-02 Solucion N:4 X1=-1,30809104614557 X2=-0,294516446103644 X3= 0,941515337056819 Norma Infinito: 3,18804782443349E-03 Solucion N:5 X1=-1,30739777915829 X2=-0,294461396278475 X3= 0,941757425083982 Norma Infinito: 6,93266987283891E-04 Solucion N:6 X1=-1,30743322655593 X2=-0,294497536321264 X3= 0,941751106038073 Norma Infinito: 3,61400427889014E-05 Solucion N:7 X1=-1,30744386900444 X2=-0,294498906525456

X3= 0,941747485184833 Norma Infinito: 1,06424485053491E-05 Solucion N:8 X1=-1,30744352110511 X2=-0,294498402443203 X3= 0,941747520042359 Norma Infinito: 5,04082253327542E-07 Solucion N:9 X1=-1,30744336082381 X2=-0,294498374569846 X3= 0,941747573258585 Norma Infinito: 1,60281300898291E-07 Solucion N:10 X1=-1,30744336335852 X2=-0,294498381462735 X3= 0,941747573590125 Norma Infinito: 6,89288898181317E-09 Descargar Programa Mtodo Gauss Seidel

Resolver por el mtodo de Gauss los sistemas

1 2

8
Mtodo De Gauss-Seidel Mtodo de Gauss-Seidel La iteracin de Gauss-Seidel se define al tomar Q como la parte triangular inferior de A incluyendo los elementos de la diagonal: Si, como en el caso anterior, definimos la matriz R=A-Q y la ecuacin se puede escribir en la forma: Qx(k) = -Rx(k-1) + b Un elemento cualquiera, i, del vector Qx(k) vendr dado por la ecuacin: Si tenemos en cuenta la peculiar forma de las matrices Q y R, resulta que todos los sumandos para

los que j > i en la parte izquierda son nulos, mientras que en la parte derecha son nulos todos los sumandos para los que . Podemos escribir entonces: |=|| | |=|| | de donde despejando xi(k), obtenemos: Obsrvese que en el mtodo de Gauss-Seidel los valores actualizados de xi sustituyen de inmediato a los valores anteriores, mientras que en el mtodo de Jacobi todas las componentes nuevas del vector se calculan antes de llevar a cabo la sustitucin. Por lo contrario, en el mtodo de Gauss-Seidel los clculos deben llevarse a cabo por orden, ya que el nuevo valor xi depende de los valores actualizados de x1, x2, ..., xi-1. En la figura se incluye un algoritmo para la iteracin de Gauss-Seidel. Figure: Algoritmo para la iteracin de Gauss-Seidel. | |

http://www.uv.es/diaz/mn/node36.html UNIVERSIDAD AUSTRAL DE INSTITUTO DE INFORMATICA CAMPUS PUERTO MONTT, CHILE PROGRAMA QUE IMPLEMENTA EL METODO DE GAUSS SEIDEL CON PIVOTEO PARA LA ASIGNATURA DE SOFTWARE NUMERICO. CREADO POR VICTOR MUNZENMAYER A. #include #include #include #include #define L 10 #define P L float A[L][P],MATRIZ[L][P],VECTOR[L],X[L],CX[L],C[L],RESULTADOS[L],tabla[1000]; float a, b, c, d, e, f; int it,ini,n,x,y,z,cont=0; void Gauss_Seidel(int n) { for(x=0;x

Vous aimerez peut-être aussi