Resolucion de Ecuaciones VB 6.0

Embed Size (px)

Citation preview

  • 8/18/2019 Resolucion de Ecuaciones VB 6.0

    1/3

    Artículo Solución de Ecuaciones Lineales Simultaneas

    Autor / Fuente Harvey Triana / Método de Eliminación de Gauss

    Tema Matemática aplicada e Ingeniería

    Actualización Septiemre !" de #$$%

    Descripción &rocedimiento para solucionar sistemas de ecuaciones linealesrelales de 'n' dimensiónes(

    Solución de Ecuaciones LinealesSimultaneas

    La solución de un sistema de )n) ecuaciones lineales simultáneas con )n) incógnitases un interesante reto a los programadores( El siguiente código lo escriíinicialmente en *ortran +#$$!,- a.uí presento la versión isual 0asic( En general- la1unción encuentra aplicación en Ingeniería y matemática superior( He utili2ado la1unción en programación de Simuladores de *lu3o y Solución del Método de losMínimos 4uadrados( El código y un e3emplo sencillo se muestra a continuación(

    DefInt A-Z'-------------------------------------------------------------------------'Solución de Ecuaciones Lineales'Sintaxis'Argumentos:'A(): Arreglo bidimensional ue contiene la matri!'"(): Arreglo unidimensional ue entregar# la solución$'%or Ing$ &are riana* %etrosoft "o$* +,,'-------------------------------------------------------------------------Static .unction /auss(01ef A() As Double* 01ef "() As Double) As

    0oolean 

    Dim em As Double* Sum As Double* i* l* 2* 3* n* m

     4n Error /oo /auss5Err

      n 6 70ound(")  m 6 n 8 +  .or l 6 + o n - +  2 6 l  .or 3 6 l 8 + o n  If (Abs(A(2* l)) 96 Abs(A(3* l))) en  Else 2 6 3  End If  ;ext  If ;ot (2 6 l) en

  • 8/18/2019 Resolucion de Ecuaciones VB 6.0

    2/3

      .or i 6 + o m  em 6 A(l* i)  A(l* i) 6 A(2* i)  A(2* i) 6 em  ;ext  End If

      .or 2 6 l 8 + o n  em 6 A(2* l) < A(l* l)  .or i 6 + o m  A(2* i) 6 A(2* i) - em = A(l* i)  ;ext  ;ext  ;ext  "(n) 6 A(n* m) < A(n* n)  .or i 6 + o n - +  2 6 n - i  Sum 6 >  .or l 6 + o i  3 6 2 8 l

      Sum 6 Sum 8 A(2* 3) = "(3)  ;ext  "(2) 6 (A(2* m) - Sum) < A(2* 2)  ;ext  /auss 6 rue

     '&?

      Exit .unction

     /auss5Err: /auss 6 .alseEnd .unction

    '------------------------------------------------------------------------------'E2em@lo sencillo de cómo usar /auss$ Salida a la entana Debug'------------------------------------------------------------------------------%riate Sub E2em@loSencillo()

     'El siguiente sistema de ecuaciones lineales ue debe ser resuelto:

      '+ + +   '+ > + B  '+ + > C

      Dim Sistema(+ o C* + o B) As Double

      Dim Solución(+ o C) As Double 

    Sistema(+* +) 6 +: Sistema(+* ) 6 +: Sistema(+* C) 6 +:Sistema(+* B) 6   Sistema(* +) 6 +: Sistema(* ) 6 >: Sistema(* C) 6 +:Sistema(* B) 6 B  Sistema(C* +) 6 +: Sistema(C* ) 6 +: Sistema(C* C) 6 >:Sistema(C* B) 6 C

     If /auss(Sistema()* Solución()) en

      Debug$%rint Solución:  Debug$%rint "+ 6 F Solución(+)  Debug$%rint " 6 F Solución()

      Debug$%rint "C 6 F Solución(C)  Sto@  Else

  • 8/18/2019 Resolucion de Ecuaciones VB 6.0

    3/3

      Gsg0ox El sistema de ecuaciones no tiene solución$$$  End IfEnd Sub