Método Gauss Seidel

Este es uno de los métodos mas interesantes del análisis numérico y particualmente útil ya que nos permite encontrar la solución de un sistema de «n» ecuaciones con «n» incógnitas.

Para comenzar es preciso mencionar que es un método iterativo, es decir que debe aplicarse recursivamente hasta encontrar una solucion adecuada o con un error considerablemente pequeño.

En cada iteración obtenemos una solución posible del sistema con un error determinado, a medida que aplicamos nuevamente el método, la solución puede ser más precisa, entonces se dice que el sistema converge, pero si al aplicar el método reiteradas veces la solución 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 método.

Bien proseguiré con la explicación del método y luego aclararé los detalles necesarios para determinar la eficacia del mismo.

Teniendo el siguiente sistema de ecuaciones:

gauss_seidel1.gif

Despejamos x1 de la ecuación 1, x2 de la ecuación 2, … , xn de la ecuación n, quedando:

gauss_seidel2.gif

Desde la formula anterior resultan las fórmulas que se deberán ir aplicando en las diferentes iteraciones. Para comenzar a aplicar el método 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 facilitaría el trabajo ya que se reduce el cálculo de las primeras soluciones, entonces de esto resulta que:

gauss_seidel3.gif

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

gauss_seidel4.gif

Una vez que tenemos x2, despejamos x3 de la ecuación 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 solución o solución de la primer iteración:

gauss_seidel5.gif

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 solución:

gauss_seidel6.gif

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

gauss_seidel7.gif

Así, repetimos el método tantas veces hasta que el error sea muy pequeño 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 expresión:

gauss_seidel9.gif

gauss_seidel10.gif

Si no se cumple esa condición, 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 método. El programa podrá ser descargado desde aqui. Para que todos los puedan ver y tratar de entender el funcionamiento del método.

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:

Coeficientes

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

matriz b

Hago clic en el botón verificar convergencia y si el programa me dice que se verifica, indico cuantas iteracciones quiero realizar y pulso en el botón «Calcular solución».

De esta forma el programa me arroja la solución del sistema (el valor de x1, x2,…xn) y me muestra el error, denominado por el programa como «Norma Infinito».

Solucion

Se puede apreciar que la norma infinito no las muestra en notación científica, ya que es un error muy pequeño.

También el programa tiene la opción de guardar todas las iteracciones que hizo, hasta llegar a la ultima, esta opción es muy útil ya que se pude ver como fueron variando las soluciones hasta llegar a la última iteracción indicada, a medida que se hacen mas iteracciones, mas precisa es la solución.

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 Método Gauss Seidel

ModulosGaussSeidel

 

122 comentarios en «Método Gauss Seidel»

  1. muchas gracias deveras, muy util la verdad me salvo de no salir mal ya q me pusiero una ecucion de 6×6 y por desordenado no salia .. pero con este programita digo proyecto ..nos da mucha solucion….gracias y reitero muy util

  2. Disculpa tengo un proyecto que realizar y para eso necesito la Codificacion de Este metodo , de verdad me seria muy util tu ayuda, por tu comprension te doy las gracias anticipadamente.

  3. Ok Miguel, dejame buscar en los archivos de mi pc y te envio al email el código fuente para que lo puedas analizar. Saludos.

  4. Hola, soy Gianela de Ecuador, soy estudiante de ing en sistemas y tengo que presentar este proyecto me podrias ayudar con el codigo fuente para cogerlo de referencia…..please….please….
    contactame a mi correo giarom_89@hotmail.com

  5. Hola Gianela, ahi te envio al correo que me indicas, los módulos en visual basic que contienen la codificación del método.
    Espero que te sea de utilidad.
    Saludos.

  6. hi!
    solo ecribo para agradecete esta informacion que en vdd es muy util,estudio ingenieria en sistemas computacionales y estoy viendo metodos numricos por lo cual tu informacion es de gran ayuda,gracias…

  7. hola, si pudieras mandarme el codigo en visual basic e lo agredecreria mucho ya que lo necesito entregar un ese proyecto, porfa

  8. Hola Gerónimo, espero no hayas hecho una limpieza en tu pc y hayas borrado los módulos de este proyecto. La verdad que me serviría de mucho porque tengo que hacer este proyecto para la universidad, sólo que en Gambas.
    Mi correo es jjeaa461@hotmail.com
    Desde ya muy agradecido, saludos.

  9. Hola gerónimo, pues al igual que José espero que no hayas eliminado la codificación de tu programa. Me ayudarías mucho si me haces el favor de enviar el código a noe.t@hotmail.com ya que tengo que hacer la implementación de este método en MatLab.
    De antemano muchas gracias, y que tengas un buen día.

  10. De nuevo yo, perdon por omitir la mayúscula en tu nombre, pero lo ví hasta después de dar clic al botón.
    Saludos

  11. Hola Noe! y un saludo a todos los que han dejado un comentario. Ahí te envio a tu correo la codificación del método. Espero que te sea de ayuda.

  12. Hola mira ya cheque tu trabajo y talvez no tenga que ver pero de casualidad tendras el diagrama de flujo y codigo para el metodo de Jacobi es muy similar a este solo que es mas largo ya que se requieren de mas iteraciones.
    Gracias y espero tu repuesta

  13. hola geronimo como topdos los de por qui te comento que ando en busca de este codigo para analizar y crear uno aun muy simple pero creo que me serviria de mucho su analisis te agradezco me envies el codigo fuente a mi mail consnapy@hotmail.com estoy estudiando 6 cuatrimestre de ingenieria civil en Peubla Mexico BUAP y voy atrasado en metodos asi que te agradeciaria ese favcor

  14. Hola geronimo te agradeceria que me enviaras el codigo fuente de este programa debido a que tengo que hacer como proyecto un programa de gauss seidel, de este ultimo periodo, es solo para basarme en el y pasarlo a vb net.si puedes mandarlo lo mas pronto posible a micorreo muchas gracias.

  15. geronimoooooooo..!! help meeeeee..!!! necesito el codigo fuente ya que tengo un proyecto que presentarlo, quisiera que me lo envies ami correo: geoffrytt_2400@hotmail.com y yo me guiaria conforme a ee codigo fuente .

  16. Hola sabes creo que debes estar un poco molesto pero, por que muchos te piden la codifcacion pero yo tambien necesito lo mismo, si me puedes enviar a mi correo fuera grandioso pero si no ni modo, de ante mano muchas gracias mi amil es: bambinounos@yahoo.es

  17. Hola saludos, me uno a los que te solicitan el codigo ya que lo necesito para agregarle la implementación con numeros complejos y asi tenerlo como ayuda en la solución de sistemas electricos de potencia

  18. Saludos..
    Estoy interesado, si es posible que me puedas facilitar el codigo para el calculo de gaus seidel, ya que lo necesito para ver si le puedo agregar soporte de números complejos. Gracias de todos modos (jhonny_mo@hotmail.com)

  19. Muchas gracias por el programa, estoy estudiando ingenieria electronica y precisaria el codigo fuente… no podras postearlo??
    Gracias.

  20. holas! desearia q pudieses ayudarme a encontrar el algoritmo para escribir este metodo en lenguje de Meple. La verdad es q no me sale. Y ya me di por vencida. Desde ya, muchas gracias!

  21. Hola Gerónimo, genial el desarrollo del programa. Me podrías ayudar por favor con la codificación? Veo que mencionaste VisualBasic, me ayudaría bastante porque tengo que realizar un proyecto similar pero en JAVA. Espero tu pronta respuesta mi mail ericklucas29@hotmail.com

  22. Hola,oye,queria saber si me pudieras ayudar,lo que pasa es que necesito tener el codigo de gauss-seidel en lenguaje C(solo lo encuentro en C++),lo intente varias veces pero no me resulta,y el programa es para mañana,crees que me lo puedas enviar a mi cuenta de correo? estudio ing en sistemas automotrices,en mexico,si pudieras ayudarme seria bastante genial de tu parte,igual muchas gracias,el correo es simpathy_for_the_devil_@hotmail.com,vale,pues gracias por tu atencion y hasta luego

  23. Hola Gerónimo te agradecería muchísimo me enviaras el código fuente de gauss seidel en Visual Basic. mi correo electronico es : Onelopezr@hotmail.com. debo entregar muy pronto este proyecto.

    Gracias.

  24. hola primero k nada muchas gracias por tu programa me sirvio de mucho oye kisiera pedirte un favor me podrias pasar el codigo fuente para darme una idea te lo agradesco muchisimo, mi correo es bon424@hotmail.com

  25. hola ojala pudieras ayudarme con el codigo de este metodo por favor de verdad me seria de gran ayuda para la universidad»»» muchas gracias e ante mano

  26. Hola gero….veo que fue muy solicitado tu sistema y me gustaria que me envies el codigo,de verdad lo necesito urgente….soy estudiantes de sistemas en la utn argentina…mi correo es luismolina10@hotmail.com
    desde ya muchas gracias.

  27. hola geronimo he chekado que tu sistema resulta muy util para los que estamos estudiando metodos numericos, y quisiera pedirt que si fuera posible me mandaras el codigo de tu sistema gracias.

  28. Hola Gerónimo, que buen proyecto, justo lo que estoy buscando, quiero pedirte de que si te es posible me mandes la codificación en matlab es para un trabajo que tengo que presentar y hasta ahora no he podido dar con él. y abusando de tu generosidad si te es posible el de los trapecios y el de simpson tambien en matlab. te estaré muy agradecido, mis correos son eace_ro@hotmail.com, eace_ro@yahoo.com y acero.e@gmail.com …. tiene que llegar en alguno….. gracias

  29. geromino, buenos dias quisiera pedrile un favor, si pudiera enviarme el codigo en java, ya que tengo un proyecto qu realizar y veo que su proyecto esta excelente, me gustaria saber si me lo pudiera enviar al correo gracias

  30. GRACIAS GRACIAS GRACIAS GRACIAS!!!! Sera posible que desarrolles alguna aplicacion para otros metodos numericos como por ejemplo polinomio de taylor o metodo de jacobi para resolver matrices es muy parecido a este.

  31. SEÑOR GERONIMO, EXCELENTE TRABAJO LO QUE USTED HIZO CON GAUSS_SEIDEL, RECIBA USTED MIS MAS SINCERAS FELICITACIONES. POR OTRO LADO APROVECHO LA OPORTUNIDAD PARA PEDIRLE SU AYUDA, YA QUE ESTOY NECESITANDO EL CODIGO FUENTE DEL METODO JACOBI EL CUAL ES MUY PARECIDO A ESE(EL ALGORITMO Y EL EXE) SALUDOS
    RICARDITO DE VENEZUELA MI CORREO ES : ricarditogollarza@hotmail.com

  32. HOLA TA BUENO EL PROGRAMA
    Y SERA Q TENEJ DEL METODO DE ITERATIVO DE JACOBI LO NESECITO URGENTE PARA UNA EXPOSICION
    MIRA TE LO VOY AGRADECER DE ANTE MANO.
    SI ES POSIBLE MANDALO A MAIL.
    jhon_zero7@hotmail.com
    por favor es de vida o muerte te cuidas ok bay….

  33. Mmm, si, la aplicacion y funcionamiento del metodo lo tengo claro, y esta genail explicado peor me podrias mandar el codigo? es que ando contra reloj y perdi loq eu habia hecho

    dragonfly_1317@yahoo.es

    te lo agradezco

  34. Muy buen dia oye esta exelente este proyecto pero le falta porne para numeros complejos o si lo tiene me podrias decir como le puedo hacer para meter los datos porfavor mi correo es lain_ito186@hotmail.com.
    Gracias.

  35. hola, podrias ayudarme con lo siguiente: ¿cual es la codificacion para ejecutar el programa? y si puedes contestarme enviame el codigo de gauss jordan en visual basic

  36. hola, oye el metodo esta excelente pero tengo que hacer un trabajo parecido y lo tengo que entregar la otra semana sera que me puedes enviar el codigo para tomarlo como referencia..

    agredesco tu ayuda

    lozano5009@hotmail.com

  37. Hola a todos, por favor quisiera que alguien me ayudes y me envie a mi correo ya mensionado, unos problemas de estabilidad en sistemas electricos de potencia usando el metodo de NEWTON RAPSON y el mismo problema resuelto con el metodo de GAUSS SEIDEL. lo necesito para aprender a diferenciar la resolucion con ambos metodos.

    agradesco desde ya su ayuda.

  38. Hola a todos, por favor quisiera que alguien me ayudes y me envie a mi correo (jota_skorp@hotmail.com), unos problemas de estabilidad en sistemas electricos de potencia usando el metodo de NEWTON RAPSON y el mismo problema resuelto con el metodo de GAUSS SEIDEL. lo necesito para aprender a diferenciar la resolucion con ambos metodos.

    agradesco desde ya su ayuda.

  39. oyes andava buscando este metodo y namas tienes el ejecutable quetia ver si me podias pasar tu codigo para analizarlo

  40. Estimado:

    Me gustaría si no es mucha molestia que me pudieras enviar el código del proyecto, que está super últil =).
    Si es posible mi correo es leslie.cero@hotmail.com
    Gracias de antes mano.

  41. Muchas gracias Gerónimo soy docente de matemáticas de escuelas secundaria y resultó interesante mostrar a los chicos que además de la resolución de sistemas en forma algebraica también se pueden resolver utilizando programas de computación y de ésta forma acercarlos un poco más al mundo de la tecnología despertando otras inquitudes….. Muchas gracias!!!!!!

  42. Hilda, me alegro que le haya sido de utilidad esta información. Pudo probar el soft para analizar mejor este tema?

    Saludos.

  43. hola , si no es mucha molesta me podrias enviar tu codigo de gauss-seidel mara ke lo pudiera entender mejor me urge si me lo puedes mandar lo mas pronto posible de antemano gracias

    mi correo es : yassiff_88@hotmail.com

  44. hola tu proyecto esta muy bueno solo que necesito el codigo fuente me lo podrias mandar por favor a mi correo es de suma importancia
    Por tu atencion grasias

  45. hola genio te escribo porque necesito hacer un proyecto con este tema y no logro hacerlo te pido x favor si me lo puedes mandar por mail, te agradezco desde ya mil gracias, suerte abrazo
    pd: mail: adriantableta@hotmail.com

  46. Hola igual que los demas quisiera que me pasaras el codigo fuente de tu programa mas que para uso de programcacion para poder usarlo para resolver los ejercisios no estudio nada de informatica como los demas ya lo estudie ahora estoy en una carrera diferente me gustaria que me lo pasaras para poder usarlo y resolver los problemas si me lo puede pasar lo antes posible te lo agradeceria

  47. Geronimo,
    me parece excelente tu trabajo. Sobretodo que lo explicas muy bien, y de manera amena. Me gustaria me pasaras el código. Lo antes posible, ya que tengo que hacer una resentacion este proximo viernes temprano. Te lo agradezco mucho.

  48. Geronimo:
    Me gustaria me pasaras el código. Lo antes posible, ya que tengo que hacer una resentacion este proximo viernes temprano. Te lo agradezco mucho.

  49. Esta muy chevere este programa, podrias enviarme el fuente, la verdad me interesa mucho el poder entenderlo. Soy Ing. en Sistemas. veo que le has puesto mucho empeño. si pudieras enviarme el codigo fuente para poder chequearlo te lo agradeceria

    Saludos Cordiales

  50. Hola mira no capte una parte, en donde dice que hay que sustituir x1 en la ecuacion despejada de x2, los valores de x3, x4… xn son considerados cero? o se dejan tal cual y asi es como se sustituye en la siguiente ecuacion?… otra cosita, el programa me indica que no cumple con el criterio de convergencia, es una matriz de 4×4, a que puede que se deba este problema?

    gracias =D

  51. hola me gusto tu programa exelente de verdad te felicitoo… quisiera saber si me podias pasar el codigo fuente que me hace falta porque me mandaron hacer un programa con este metodo en cualkier lenguaje se agradeceria tu ayuda.. aqui mi correo josmermartinez@hotmail.com

  52. hola geronimo saludos estube probando tu proyecto me parece una herramienta exelente. en este momento curso estudios de ing. y para un informe necesito el codigo fuente como soporte porque es una exigencia te agradeceria por favor si puedes enviarlo al (oyanez_14@yahoo.es)

  53. Oye me podrias enviar la codificacion del metodo por favor me seria de mucha ayuda

  54. hola geronimo, necesito hacer una expocicion de este metodo; pero me piden explicar un ejercicio con su seudocodigo o alguna matriz, serias tan amable de ayudarme en este caso! por favor; y mil gracias por tu atencion:

  55. hola Geronimos….oie estoy viendo tu pag. y es muy interesante, y yo como los demas qiero que me ayudes enviando la codificacion a mi correo (fanny_isita92@hotmail.com), del metodo de newton, por favor, es muy importante. Gracias, qe estes bien

  56. Hola Gerónimo, no te pediré códigos de fuentes ni mucho menos, sólo quiero felicitarte por este trabajo y por la buena voluntad que has tenido para poner a disposición el material de todo el mundo.

  57. hola que tal muchas gracias por compartir esta informacion estudio sistemas y me gustaria saber si me podrias mandar tu codigo pues tengo una exposicion por hacer de este tema de antemano gracias

  58. Hola geronimo… muy buen aporte con tu programa. Pero no se si podrias ayudarme mostrandome los codigos que utilizasre en el visual basic. Te lo agradesco de antemano. Saludos. Mi correo es: alvaro_mlh@hotmail.com

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.