sábado, 23 de julio de 2011

GAUSS JORDAN USANDO VB


Para la resolución de matrices n x n logramos establecer un código muy estructurado y sencillo de acuerdo a nuestro interés y a nuestra medida. La ventaja de hacerlo en Visual Basic es que podemos adaptarlo a nuestras necesidades y a cómo deseamos que se muestre la respuesta. Lo que no se logra con otros lenguajes especializados. Si bien estos últimos funcionan perfectamente, no devuelven la respuesta de la forma que queremos y el entorno no es amigable.

Inicialmente creamos una interfaz con las siguientes caracteristicas



Los números de las cabeceras de la grilla son correlativos. Perfectamente podemos llenarlos con
una instruccion de FOR desde 0 - donde se desee. Es obvio que fue necesario trabajar en la consistencia de la capacidad de las celdas del control "flexgrid"

Ahora veamos como el código resuelve las matrices por el Método de Gauss Jordan.
El algoritmo ha sido programado con las ayuda de los libros de Algebra Lineal de Kolman y Grossman  y ha sido comprobado en su totalidad con todas las matrices de estos libros en los ambientes de Ingeniería Química de la UNSA, todo en nuestros tiempos libres.
Además gracias a que usamos 12 decimales sin redondear —el redondeo de cifras  cuando usamos una computadora es de por sí ilógico, ya que ella puede trabajar perfectamente con los decimales que nosotros deseemos—, se ha logrado solucionar satisfactoriamente los ejercicios que el mismo libro de Grossman considera que por el Método de Reducción no pueden resolverse.

El programa funciona de la siguiente manera:

Usando, por ejemplo, 10 ecuaciones con 10 variables. La interfaz inicial se vería más o menos así:


La instruccion del botón "Dibujar Matriz" dibuja de la siguiente forma la grilla, a la que llenamos con nuestros datos (coeficientes de las ecuaciones), de la siguiente forma:



Para fines didácticos, estamos trabajando con 10 ecuaciones y 10 variables. Esto puede variar según nuestras necesidades.
Al hacer clic sobre el boton "Gauss", el programa realiza la reducción y queda de esta forma:


La reduccion gaussiana se ha efectuado con éxito.
Este programa resuelve matrices n x n,  solo hay que tener en cuenta la capacidad de almacenamiento del control "flexgrid" al momento de programar, capacidad que no es infinita.

El código matriz del programa que mostraremos a continuación ha sido desarrollado por el que escribe en colaboración con Javier Catari, en aquel entonces ambos estudiantes de la Escuela de Ingenieria Quimica de la UNSA para el curso de Algebra Lineal.

Este programa funciona perfectamente. Se han omitidos las lineas de códigos de consistencia del programa ya que no tienen que ver directamente con la resolución de matrices.



Si analizamos el código nos percataremos de que el algoritmo central del programa es el mismo que el que utilizamos para resolver las matrices manualmente, un método muy sencillo por cierto.

Enseguida les presento las líneas de código que buscan al pivote en cada instruccion al realizar el evento en la matriz en la grilla:



Este sencillo conjunto de instrucciones (código) está bien distribuido y  estructurado y devuelve soluciones correctas para matrices por el Método de Reduccion, por ello insisto en que Visual Basic puede ser una poderosa herramienta para la Ingenieria. Digo esto ya que usualmente se le considera una herramienta para gestión de bases de datos y por ende dominada por profesionales dedicados a la informática.
En este caso, hemos demostrado que podemos utilizar VB para estructurar algoritmos matemáticos y lógicos que se ajustan a la secuencia de solución programada, usamos números para solucionar problemas de números.

¿Te gustó el programa? Descárgalo aquí: REDUCCIÓN MATRICIAL
Nota: aún está en visual basic 6.0, en unas semanas estará en Visual Studio 2010.

Si no tienes instalado el Visual Basic, descargate el instalador en el seguiente enlace:
Intalador del reductor de Matrices Gauss - Jordan


VBX DESARROLLO
© Derechos Reservados
Diseño de interfaz: Javier Catari 
Programación: Ing. José Alfonso Arivilca
Arequipa - Perú 2014

57 comentarios:

  1. hola podrias pasar el codigo ?? porfavor

    ResponderEliminar
  2. Alfonso DIce:

    el código está publicado, ·sub gauss", y "Busca pivote" trbaja simultaneamente.

    ResponderEliminar
  3. disculpa me..puedes pasar el programa completo xfa..mi mail es martinht92@hotmail.com..saludos y gracias esta ecelente la descripcion del programa

    ResponderEliminar
  4. he enviado el programa a tu cuenta de hotmail, pueden colaborar con el blogg, enviando sus proyectos que funcionen, para colgarlos aqui. su nombre se colocará despues del titulo. gracias por ver el blogg.

    ResponderEliminar
    Respuestas
    1. una pregunta para visual 2008 es acorde el programa..

      Eliminar
    2. y para hacerlo en visual basic 2008 express? es = no me sale ami :S:S:

      Eliminar
  5. los prcedimientos estan estructurados solo tiene que tomar en cuenta en 2008 si el llamdo del flexgrid es diferente o no, y la manera de declarar las variables, porque todo el procedimiento de buscar pivote es codigo estructurado ahi no hay casi nada de procedimientos de visualk basic, todo es casi independiente, debes tomar en cuanta la manera de declarar las variables en 2008, y como jalar los datos de un flexgrid en el 2008.

    ResponderEliminar
  6. buenas podrias mandarme el codigo por favor te dejo mi correo. mrvaldivia@hotmail.com

    ResponderEliminar
  7. Disculpen los inconvenientes, el programa esta siendo repotenciado y anexado a un compendio de herramientas utilitarias para ecuaciones aplicadas a ING de procesos, y recompilado en visual basic 2010, por el momento la version 2006 esta fraccionada, sin embargo el codigo esta publicado, declare usted las variables y copie tal y como estael codigo de la publicación funcionará perfectamente.

    ResponderEliminar
  8. Hola por favor me puede enviar el codigo a mi correo t agradesco d ante mano mi correo es ing-y-computacion@hotmail.com

    ResponderEliminar
  9. no me sale enviame e pryecto a mi correo porfa t lo agradesco mucho... monicafernandasanchez@gmail.com

    ResponderEliminar
  10. me puedes enviar el codigo mi correo es edy_198915@hotmail.com garacias

    ResponderEliminar
  11. Hola que tal alfonso me gusto tu programa cres que me lo puedas mandar a mi correo porfavor? hec.german@gmail.com ... muchas gracias

    ResponderEliminar
  12. intenté enviarle el programa pero su correo al parecer no esta bien escrito ya que sale un error al enviar desde mi bandeja de entrada, por favor vuelva a escibir su correo para enviarle

    ResponderEliminar
  13. Una disculpa Alfonso... a ver intenta con este... german_007_89@hotmail.com

    ResponderEliminar
  14. buenas podria enviarme el programa a rides_xd@hotmail.com muchas gracias! estoy en prueba y lo necesito jejeje

    ResponderEliminar
  15. Envié el programa a quien me lo solicitó, sin embargo no a los que no tienen cuenta de facebook con el correo que escriben aqui, ya que antes de enviar me paso por su perfil, bien saludos y sigan las intrucciones del pequeño manual que envio con el programa y funcionará perfectamente.

    Atte Alfonso Arivilca (KilyManyaroo)

    ResponderEliminar
  16. Buenas Tardes podrias enviarme el codigo del programa por favor? este es mi correo Flor_Rosada2040@yahoo.es
    El Programa Funcionara con Visual Basic 6.0? Gracias

    ResponderEliminar
  17. Buenos Dias ALfonso, Muchas gracias por enviarme el Programa, esta muy bueno. Excelente!!!!

    ResponderEliminar
  18. buenas tardes alfonzo por favor enviame el codigo mi correo es monti_garcia86@hotmail.com

    ResponderEliminar
  19. Hola, que tal, podrías enviarme el código a mi correo, lo que pase es que trate de hacerlo y no me compila, por favor mi correo es erocpe_1101@hotmail.com tengo cuenta en facebook es esta facebook.com/erick.octavio.1 me lo piden en la escuela. Gracias! Buen día.

    ResponderEliminar
  20. hola me podrias pasar codigo porfavor, lo necesito y muchas gracias por la ayuda n_n mi correo es:
    oscar1n_n1@yahoo.com

    ResponderEliminar
  21. Podrias enviar el programa ejecutable y el archivo de VB porfavor
    feliz_soy_yo1@hotmail.com

    ResponderEliminar
  22. Porfas me podrias enviar el Archivo de Visual Basic asi como el programa, si quieres mi fb, aqui esta www.facebook.com/g3rard05.1 mi correo es g3rard05@hotmail.com

    ResponderEliminar
  23. hola! sé que es un poco repetitiva la petición, te pido mil disculpas de antemano. Podrias enviarme el codigo a mi correo,
    muchas gracias. mi correo es chiqui_mck@hotmail.com

    ResponderEliminar
  24. Podrias enviarme tu codigo y programa a mi correo por favor? erick_rock_soul@live.com.ar

    ResponderEliminar
  25. Buena tarde...

    alfonso me pòdrias colaborar enviandome el codigo en visual basic a mi correo,
    juca318@hotmail.com.

    necesito hace unos calculos para la nota final de simulacion

    muchas gracias.

    ResponderEliminar
  26. podrias embirme el programa con sus codigos para hacer algunas mdificasiones en visual basic 6.0 jorge-EC46@hotmail.com

    ResponderEliminar
  27. pm podras brindar la aplicacion a mi correo yericzon@gmail.com esta muy buena

    ResponderEliminar
  28. http://jossm03.blogspot.com/2012/07/algoritmo-eliminacion-gauss-jordan-vb.html

    ResponderEliminar
  29. que bueno por fin vb 2010, deberian publicar todo el codigo y el programa funcionando consistenciado.

    ResponderEliminar
  30. Buenas Noches, Ing. usted me podría enviar el programa por favor? adicional ando en la busqueda del programa de sediel y matrices inversas.
    le agradezco mucho por su colaboracion

    ResponderEliminar
  31. HOLA buenas noches, disculpa tienes el código para visual con respecto al método de eliminación gaussiana?

    ResponderEliminar
  32. el codigo esta publicado, tal vez lo que ustedes esten buscando sea el diagrama de flujo, de la resolucion para cualquier software...

    ResponderEliminar
  33. hola buenas tardes Alfonso cres que me puedas pasar el programa mi correo es david_flores_2007030321@hotmail.com

    ResponderEliminar
  34. Hey poncho me lo puedes mandar a mi correo por fa te lo agradeceria mucho... Saludos y suerte. chrisreyes117@aol.com

    ResponderEliminar
  35. hola no me podras enviar el codigo este codigo sirve para vb 2012? mi correo es saracarolinagarciaruiz@gmail.com

    ResponderEliminar
  36. hola buen dia tengo muchos problemas con el código de gauus tendrá x si acaso solo el de 3*3 por fa mi correo es luighi_navi.fr@hotmail.com
    gracias....!!

    ResponderEliminar
  37. ¡Hola buen día! Me podria hacer el favor de pasarme el programa al correo j02039721@gmail.com Gracias!

    ResponderEliminar
  38. hola amigo me podrias pasar tu programa por favor al sig. correo carlos_javlg@hotmail.com te lo agradeceria mucho se ve bastante interesante

    ResponderEliminar
  39. hola amigo podias mandarme el programa a mi correo? te lo agradeceria mucho vdquinonez@gmail.com

    ResponderEliminar
  40. les dejo el link de descarga
    https://app.box.com/s/uobd8ph5a0m0vpw8qh3m

    ResponderEliminar
  41. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  42. ojo esta en visual studio 6.0, dentro de unas semanas podré tenerlo en visual studio 2010.
    Para saber como poder usarlo lean arriba, esto debe funcionar perfectamente, ya que lo he probado con cientos de matrices, sino pregunten aqui. pero lean bien.

    ResponderEliminar
  43. disculpa sera que me podrias enviar el programa de Metodo de Reducción de GAUSS JORDAN en visual studio 2010 a este correo miguel_04_sep@hotmail.com

    ResponderEliminar
  44. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  45. no porque aun no lo tengo listo en visual studio 2010, aunque considero que es muy sencillo el cambio sin embargo falta compilar algo de código para que el control GRID sea mas accesible y suave, intentaré publicar el algoritmo quizás eso les ayude a programarlo en visual studio 2010 mas rápido.

    ResponderEliminar
  46. disculpa, me poder pasar el programa completo a este correo. orlandope35@gmail.com

    ResponderEliminar
  47. descarga desde el link que esta al final, funciona perfectamente. en vb 6.0

    saludos atrte Alfonso.

    ResponderEliminar
  48. Compañero José, está muy buena su solución a este problema de las matrices, le pido el favor y si me puede regalar el código completo, me seria de mucha utilidad en la asignatura análisis numérico que estoy cursando en mi universidad., muchas gracias Humberto Lizcano rh_lizcano@hotmail.com

    ResponderEliminar
  49. ME PUEDES ENVIAR EL CODIGO DEL PROGRAMA POR FAVOR USO VISUAL STUDIO 2012

    ResponderEliminar
  50. mandamelo a este correo porfavor jordan1987@live.com.mx uso visual studio 2012

    ResponderEliminar
  51. voya publicarlo en breve y es que estoy en otros proyectos, el programa en visual studio 2013 saldra pronto, y es gratis,
    atte. Ing alfonso arivilca.

    ResponderEliminar
  52. aye me harias el grandisimo favor de enviarme el programa completo para poder estudiarlo a teck74@hotmail.com gracias por el aporte

    ResponderEliminar
  53. che viejo me puedes pasa el algoritmo de este programa porfa al correo alv-ro2010@hotmail.com

    ResponderEliminar
  54. pana podrias enviarme el programa a mi correo
    mirandalexk@hotmail.com
    gracias

    ResponderEliminar