Está en la página 1de 26

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.

476 visitas

Rating:
Tell a
Friend

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 segn 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

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

También podría gustarte