Categorias

Ultimos comentarios

Archivo


« Problemas con la codificación en MySQL | Principal | Seguridad Informática »

Método Gauss Seidel

By geronimo | Marzo 2, 2008

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

Topics: Analisis Numerico | 64 Comentarios »

64 Respuestas para “Método Gauss Seidel”

  1. mario Dice:
    Junio 3rd, 2008 at 1:24 pm

    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. Gerónimo Dice:
    Junio 3rd, 2008 at 1:49 pm

    Bueno Mario! me alegro que te haya servido y gracias por tu comentario!

  3. Miguel Dice:
    Junio 19th, 2008 at 6:19 pm

    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.

  4. Gerónimo Dice:
    Junio 19th, 2008 at 6:48 pm

    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.

  5. Gerónimo Dice:
    Junio 19th, 2008 at 6:57 pm

    Estimado Miguel, he tratado de enviarte los módulos, pero el correo que me indicas es incorrecto. Si los quieres ponte en contacto conmigo en geronet@geronet.com.ar
    Saludos.

  6. miguel Dice:
    Junio 27th, 2008 at 6:07 pm

    disculpa no había podido ponerme en contacto pero de verdad es urgente la codificación del método de gauss- seidel que tu creaste, aqui esta mi otro correo que espero si sirva; arcangel_77788@hotmail.com
    magonzalezc@yahoo.com.mx

  7. Gianela Dice:
    Septiembre 7th, 2008 at 5:39 pm

    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

  8. Gianela Dice:
    Septiembre 7th, 2008 at 5:49 pm

    De antemano gracias… pero lo necisito urgente…
    si… gracias

  9. Gerónimo Dice:
    Septiembre 7th, 2008 at 5:52 pm

    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.

  10. beatriz Dice:
    Septiembre 15th, 2008 at 4:45 pm

    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…

  11. Belkis Dice:
    Septiembre 17th, 2008 at 3:21 pm

    disculpen necesito la codificacion para resolver jacobi en visual basic lo mas urgente posible a mi correo rakell_1409@hotmail.com plis GRACIAS

  12. alan Dice:
    Octubre 11th, 2008 at 6:08 pm

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

  13. alan Dice:
    Octubre 11th, 2008 at 6:08 pm

    ahhh se me olvidaba, mi correo es alan_jg3@hotmil.com o andres.garcia.1988.aajg@gmail.com

    gracias

  14. roberto Dice:
    Noviembre 17th, 2008 at 11:35 pm

    oye sera que me los puedes mandar ami tambienlos codigos o el formulario si no es mucha molestia porfabor mi correo es robert0288@hotmail.com te agradesco mucho

    gracias

  15. andres Dice:
    Diciembre 4th, 2008 at 11:47 am

    Hola soy de bolivia y te pido el fvor que me mndes el codigo y que me lo pidieron en la universidad mi correo es lost_windom@hotmail.com te la agrdecere mucho….

  16. vanessa Dice:
    Diciembre 7th, 2008 at 8:56 pm

    hoa soy vanessa sabes me mandaron este proyecto y queria pedirte si porfavor me pudieras mandar el codigo de tu programa…te agradesco de antemando mi corre es anavanessa13@gmail.com

  17. Christian Dice:
    Enero 7th, 2009 at 10:20 am

    Hola Gerónimo ..esta muy interesante tu programa…puedes enviarme el proyecto en visual necesito tener una guia para hacer el mio…de antemano muchas gracias..

    mi mail es christian_sick@hotmail.com

  18. Roberto Dice:
    Abril 20th, 2009 at 11:01 am

    Estimado Gerónimo,
    Te agradecería si puedes mandarme el código al e-mail castroroberto@hotmail.com para ver si lo puedo tener como guia para un proyecto de mi universidad.
    Gracias/Saludos.

  19. José Dice:
    Mayo 7th, 2009 at 6:20 pm

    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.

  20. Noe Dice:
    Mayo 10th, 2009 at 2:53 am

    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.

  21. Noe Dice:
    Mayo 10th, 2009 at 2:54 am

    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

  22. Gerónimo Dice:
    Mayo 10th, 2009 at 10:19 pm

    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.

  23. MARISOL MEZA Dice:
    Junio 3rd, 2009 at 1:19 pm

    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

  24. MARISOL MEZA Dice:
    Junio 3rd, 2009 at 1:23 pm

    Ah y mi correo es lilith95_dhs@hotmail.com y abusando de ti podrias tambien mandarme el de este metodo; Gauss Seidel; por favor!!!

  25. Pedro Osorio Dice:
    Junio 21st, 2009 at 10:25 pm

    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

  26. Juan Dice:
    Agosto 5th, 2009 at 6:27 pm

    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.

  27. Juan Dice:
    Agosto 5th, 2009 at 6:29 pm

    mi correo es jansat_27@hotmail.com

  28. Trabajo Ingenieria - Noticias de Ingenieria » Trabajo Ingenieria - Bolsa de Empleos para Ingenieros Dice:
    Septiembre 5th, 2009 at 4:12 pm

    [...] Método Gauss Seidel | GERONET [...]

  29. Geoffrytt Dice:
    Septiembre 11th, 2009 at 10:26 am

    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 .

  30. Johanna Dice:
    Septiembre 25th, 2009 at 9:14 pm

    Hola Gerónimo te agradecería muchísimo me enviaras el código fuente de gauss seidel y método de relajación en visual basic 6.0 a pecasljbm@hotmail.com

  31. Mishelle Dice:
    Septiembre 26th, 2009 at 12:24 am

    hola Geronimo, por favor podrias enviarme el codigo de tu programa. a misheliz_17@hotmail.com , me seria de mucha utilidad. Gracias

  32. Mishelle Dice:
    Septiembre 26th, 2009 at 12:25 am

    es de mucha urgencia por favor

  33. antonio Dice:
    Octubre 14th, 2009 at 6:29 pm

    hola geronimo, por favor me podrias mandar tu codigo de tu programa en visaul basic 6.0 me seria de mucha ayuda para mi proyecto .este es mi correo antonito_256@hotmail.com

  34. Wilson Dice:
    Octubre 24th, 2009 at 9:38 pm

    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

  35. Jhonny Dice:
    Octubre 27th, 2009 at 8:46 pm

    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

  36. Jhonny Dice:
    Octubre 29th, 2009 at 2:22 pm

    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)

  37. martin Dice:
    Noviembre 4th, 2009 at 5:46 pm

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

  38. Belen Dice:
    Noviembre 10th, 2009 at 6:01 pm

    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!

  39. Mario Dice:
    Noviembre 12th, 2009 at 8:41 pm

    Saludos Gerónimo me podrías enviar el código fuente mi correo es: mariosequeda@gmail.com gracias de antemano.

  40. Erick Dice:
    Noviembre 29th, 2009 at 10:46 am

    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

  41. Mario Dice:
    Marzo 11th, 2010 at 8:36 am

    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

  42. gabo Dice:
    Marzo 15th, 2010 at 2:54 pm

    Muchisimas gracias, lo desarrolle en java y me fue de gran ayuda la informacion

  43. Oneida Lopez Dice:
    Marzo 15th, 2010 at 6:32 pm

    Saludos Gerónimo me podrías enviar el código fuente mi correo es: mariosequeda@gmail.com gracias de antemano

  44. Oneida Lopez Dice:
    Marzo 16th, 2010 at 7:26 am

    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.

  45. geronimo Dice:
    Marzo 22nd, 2010 at 12:21 pm

    Estimados, ahi les envio el codigo a su correo.
    Saludos.

  46. manuel Dice:
    Marzo 22nd, 2010 at 4:37 pm

    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

  47. oneida Lopez Rincon Dice:
    Marzo 30th, 2010 at 5:49 pm

    Geronimo: Muchas gracias por el codigo. me sirvio mucho..Saludos.

  48. MICHEL RODRIGUEZ Dice:
    Abril 6th, 2010 at 4:56 pm

    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

  49. luis Dice:
    Abril 29th, 2010 at 6:43 pm

    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.

  50. luis Dice:
    Abril 29th, 2010 at 6:44 pm

    y una consulta mas……podria ser implementado en Gamba un sistema realizado en vBasic?

  51. mari lu Dice:
    Mayo 1st, 2010 at 5:17 pm

    se puede aplicar a fortran? plis me urge la respusta

  52. gustavo Dice:
    Mayo 5th, 2010 at 10:23 am

    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.

  53. gustavo Dice:
    Mayo 5th, 2010 at 11:32 am

    mi correo es g.u.s.h@hotmail.es gracias anticipadas

  54. Eduardo Dice:
    Mayo 8th, 2010 at 10:33 am

    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

  55. Antonio Dice:
    Mayo 15th, 2010 at 10:01 am

    Hola Geronimo, muy buen proyecto, podrias mandarme el codigo? gracias

  56. gustavo_o Dice:
    Mayo 16th, 2010 at 7:00 am

    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

  57. PEDRO Dice:
    Mayo 18th, 2010 at 10:32 am

    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.

  58. mateo Dice:
    Mayo 23rd, 2010 at 9:38 am

    hola, sería posible recibir el codigo por correo.

    muchas gracias

  59. ricardito Dice:
    Mayo 24th, 2010 at 12:37 pm

    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

  60. Daniel Suarez Dice:
    Mayo 26th, 2010 at 5:31 pm

    Hola me podrías ayudar con el código de tu programa y como podría aplicarlo pero en Matlab, supongo que la programación debe ser similar. Soy de Quito mi mail es danielsebastian_14@hotmail.com, Gracias

  61. JHAN CARLOS Dice:
    Junio 3rd, 2010 at 6:10 pm

    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….

  62. Isabel Cristina Dice:
    Junio 7th, 2010 at 5:43 am

    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

  63. nikolas Dice:
    Junio 20th, 2010 at 6:21 am

    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.

  64. jazmin parraga Dice:
    Julio 18th, 2010 at 1:21 pm

    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

Comentarios