Método de Jacobi y Gauss-Seidel: Visual Basic 6
Agosto 31, 2008
Son dos métodos númericos, que nos permite hallar soluciones a sistemas con el mismo número de ecuaciones que incognitas.
En los dos métodos se realiza el siguiente proceso, con una pequeña variación en Gauss-Seidel
Tenemos estas ecuaciones:
-x-7y+3z=-2
2x-y+8z=1
1. Despejar cada incógnita en función de las demás.
y=(x-3z-2)/-7
z=(1-2x+y)/8
2. Dar valores iniciales a las incógnitas
y1=0
z1=0
Por Jacobi:
Reemplazar en cada ecuación los valores iniciales, esto nos dará nuevos valores que serán usados en la próxima iteración
y=(0-3*0-2)/-7=0,28
z=(1-2x+y)/8=0,12
Por Gauss-Seidel
Reemplazar en cada ecuación los valores mas próximos hallados.
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 ejecución del algoritmo al calcular el error del cálculo, el cual lo podemos hallar con esta fórmula: sqr( (x1-x0)^2 + (y1-y0)^2 +(z1-z0)^2 )
Con jacobi
Con Gauss-Seidel
La principal diferencia, es que como el método de gauss_seidel utiliza los valores inmediatamente encontrados, entonces hace que todo el proceso sea más rápido, y como consecuencia hace de éste, un método mas eficaz.
Las fórmulas usadas en la hoja de excel para el método de Jacobi son
=(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 método de Gauss-Seidel:
=(I6-3*K5-2)/-7
=(1-2*I6+J6)/8
=RAIZ((I6-I5)^2 + (J6-J5)^2 + (K6-K5)^2)
El código fuente y el ejecutable del programa en visual basic 6 puede ser descargado de ACÁ
La clave del comprimido es
Archivado en: Programación |
ES CHEVERE SABER QUE HAY PROGRAMAS QUE TE AYUDAN PARAR TUS ESTUDIOS
Omar: Creo que el estudio es una actividad personal e independiente. ES necesario elaborar un programa para el correcto funcionamiento de estos dos métodos, por que recuerda que son métodos iterativos (Cíclicos), esto implica que el hacer los dos métodos a lápiz y papel, se desperdiciaría demasiado tiempo, además, en la mayoría de veces, tendrás que hacer tantas operaciones que al final terminarías cansado, así que nunca llegarías a una aproximación de las incógnitas.
MUY BUENO SABER QUE PERSONAS SE DEDICAN A OTROS CAMPOS DE LA CIENCIA FELICIDADES
hola que tal, mi nombre es Aldo de Mexico, los ejemplos son muy buenos al igual que la aplicacion. Sin embargo, tanto Jacobi como Gauss-Seidel tienen la restriccion de que la matriz A tiene que ser diagonalmente dominante, es decir que el valor absoluto del elemento de la diagonal sea mayor que la suma del resto de los elementos del renglon, de lo contrario la solucion tendra problemas de convergencia, creo que el programa no realiza esta verificacion y seria muy util si lo hiciera ya que me parece muy buena manera de comparar ambos metodos. Por favor si estoy equivocado te agradeceria como puedo aplicar esta parte, gracias y felicidades!!
Claro que estás en lo correcto, ambos métodos tienen problemas de convergencia si la diagonal principal no es digonalmente dominante, pero aunque tenga problemas muchas veces se encuentra la solución. Cuando tenga tiempo actualizo el programa para que siempre sea diagonalmente dominante y de paso actualizo la publicación. Gracias.
hola, como le hago para insertar en el array los valores que yo quiera, y que no se me generen numeros aleatorios
gracias
Estimado SYSROOT,
Me baje el archivo .ZIP pero me solicita un password. Podrias pasarmelo a x@hotmail.com ?
Gracias/Saludos.
La clave del archivo comprimido está en la misma publicación...
muy bueno esta onda
es lo k andaba buscando
soy estudiante de estadistica
felicidades saludos
gracias por el programa hermano, esta muy bueno, felicitaciones
gaus seidel este metodo es efectivo para hacerlos port aqui??? por q estube haciendo uno de gaus seidel y como tenia 13 iteraciones ademas de lo tedioso que es hacer todo ese proceso al final no me dio el resultado esperado......
el progrma me pide un login cual es???
Como hago para ingresar una matriz distinta
Alejandra: La clave está indicada en la publicación
DRamirez: Tienes que modificar el código donde se inicializan los valores de la matriz
POR FA ME PUEDES DAR LA CLAVE DEL ALGORITMO JACOBI -SEIDEL
Hola AYUDA, NO ME DESCARGA EL LINK, Y MI EXPOCISION ES ESTE VIERNES PORFA MANDAMELO POR CORREO AYUDAAAA
hola AYUDA¡¡ al abrir el programa en visual y ejecutarlo me manda un error en FG.Clear (en el clear) me dice que no se encuentra el metodo o el miembro de datos, que puedo hacer???? ME PUEDES AYUDAR PORFA¡¡¡¡
Diana: Tienes que descomprimir TODO el código en una sola carpeta y abrir el archivo que dice "Proyecto1.vbp". Para descomprimir todos los archivos le das clic derecho al archivo comprimido, y después le das en "extraer todo aquí".
los programas son buenos, yo tengo el programa que soluciona por la matriz inversa pero no se como subirla a la red ayudame
hola muchar gracias por subir ese programa
Osvaldo: Si deseas, envíame el programa, y una breve explicación del método que usa el programa, y lo publico acá en mi página.
HOLA DE NUEVO HE DISCULPA ME PODRIAS ENVIAR A MI CORRE UNA EXPLICASION DE COMO USAR ESTOS METODOS EN EXCEL PORFAVOR DE ANTEMANO MUCHAS GRACIAS
hola de nuevo¡¡¡¡ justamente descomprimi todo y abri el proyecto1 en visual,pero no se porque a la hora de ejecutarlo me manda un error como el que te habia comentado,el unico que me mostro fue la aplicacion que se llama algebra.exe,me urge poder correr el programa en visual porfis podrias agregarme o mandarme tu correo porfa x@hotmail.com
Hola necesito la clave para descomprimir por que no aparece por ningun lado en esta publicacion Ayudenme por favor
Si te fijas bien Alberto, antes de "XX Comentarios" se encuentra el siguiente escrito:
"La clave del comprimido es
http://www.sinfocol.org"
Así que la clave si está en esta publicación...
OK Muchas Gracias
muy bueno los ejemplos me aclaron mis dudas
Exelente hermano gracias por el aporte, es bueno que existan personas como tu.
MUY BUENA EXPLICACION. SENCILLA PERO BUENA
hey man me podrias mandar el Algoritmo de Gauss-Seidel gracias
muchas gracias por la explicacion!
me ha sido de gran ayuda para comprender bien estos 2 metodos!
un saludo desde España
como descargo el preograma necesito entregar una actividad y no hallo como llevarlo a excel
Lo siento pero no tenemos la hoja de excel por el momento.
muy buena explicacion mi pana, pero ya llevo dos dias intentando llevarlo a excel y nada, no manejo par nada el excel :S podrias subir la hoja de excel o enviarmela a mi e-mail???
OYE, GRACIAS POR EL PROGRAMA ME SIRVIO MUCHO, ADEMÁS ES MUY PRACTICO...SALUDOS CORDIALES...
la verdad no ocupo mucho la compu pero es muy raro
encontrar sitios como este y te agradezco que lo espliques con esta sensilles de verdad gracias
Buen dia a todos los usuarios, primero que nada doy creditos a sysroot por tomarse el tiempo de subir info util, mi pregunta es ¿que pasa si la matriz no es diagonalmente dominante, yo estoy cursando en una materia este tema y me dejaron un ejercisio donde la matriz no es diagonalmente dominante, segun nos explicaron brevemente que se puede mover los renglones de la matriz para poder encontrar la mejor combinacion buscando con esto tener la matriz diagonal dominante como se requiere, ya aplique ese criterio a mi matriz y encontre que en dos renglones la suma de los restantes es menor asi que en ese aspecto si convergeria pero en uno de los tres renglones no cuadra ese criterio, mi pregunta es tambien si es posible calcularlo por es metodo de jacobi aun asi y si seria asi el procedimiento ya que llevo varios pasos y no veo que se le acerque al resultado, y en caso de no poderse por jacobi que metodo me recomiendas para resolver una matriz que no converga en jacobi, agradesco todas las atenciones y espero obtener respuesta, saludos a todos.
Hola Felipe.
El teorema sobre los dos métodos dice: "Si un sistema de n ecuaciones lineales con n variables tiene una matriz de coeficientes estrictamente dominante, entonces tiene una
solución única y tanto la del método de Jacobi como la del de Gauss-Seidel convergen en ella".
Este teorema es una implicación de un sólo sentido!, el hecho de que un sistema no sea diagonal estrictamente dominante, no significa que los métodos iterativos vayan a ser divergentes. Ellos pueden o no converger. Lo importante cuando convergen, es que si lo hacen lo deben hacer hacia una única solución.
Dos ejemplos que ilustran como matrices que no son diagonalmente estrictas pueden converger usando los métodos:
-4x + 5y = 14
1x - 3y = -7
5x - 2y + 3z = -8
x + 4y - 4z = 102
-2x - 2y + 4z = -90
Los únicos dos métodos que conozco para resolver este tipo de problemas son el método de Jacobi y el de Gauss-Seidel.
amigo ejecute el programa pero no entiendo como es la carga de la matriz A, no me permite introducir cada elemento de la matriz solo un termino a y un termino b, si puedes x favor explicarme te lo agradeceria mucho...
gracias...
Niels: El programa hace la matriz él solo, próximamente en la página de ingeniería informática en colombia agregaré el respectivo programa un poco más flexible.
http://ingcol.wordpress.com/
graciaas a la persona que se encarga se brindarnos esta información que es de suma ayuda para los que damos esta materia.... gracias nuevamente
Amigo deveras mcuhas gracias el ejercicio de ejmeplo me sirvio para enteder como funciona este metodo, ahora quisiera pedirte una ayuda estoy intentando hacer lo mismo del jacobioano pero con el metodo de newton-rapson quisera saber si puedes porfavor colgar informacion y ejemplos y si puedes el algoritomo de antemano gracias
Una actualización de esta publicación junto con otros métodos utilizados serán publicados en el blog de ingeniería (http://ingcol.wordpress.com/)
De verdad no encuentro como agradecer a SYSROOT por esta importantisima herramienta que el subio a nustro favor. Esta me ha ayudado mucho. De nuevo te agradezco mucho.
Que Dios te amplie el conocimiento!
Desde Santo Domingo, Rep. Dom.
Saludos,
PRIMERO QUE NADA GRACIAS ESTOS PEQUEÑOS TIPS MARCAN LA DIFERENCIA Y BUENO NO SE SI PUDIERA AYUDARLOS EN ALGO SERIA UN GUSTO
un favor bien grande me podrían ayudar con el método de richardson......
Hola que tal, tengo que desarrollar el metodo de jacobi para ecuaciones no lineales. Se puede utilizar para ese caso? Donde puedo enconrar informacion sobre el tema?
quisiera saber como funciona, lo e descargado ..pero nose como usarlo
Muchas gracias amigo por haberte tomado la molestia en brindarnos este programa, bueno soy aprendiz de visual basic, sé algunas cosas, pero podría decirse que aún me falta mucho, tal como dije, estoy aprendiendo apenas. El programa está muy bueno, y tengo una pregunta:
¿Cómo cambiarías el formulario para hacer que en el programa le introduzcas los valores que quieras a la matriz?
Revisé los comentarios y ví que respondiste a uno que debe "modificar el código donde se inicializan los valores de la matriz", ahora mi problema es hacerlo, ¿podrías orientarme más o menos cómo hacerle?
Nuevamente, muchas gracias y saludos desde México.