Upload
motorgonzales
View
215
Download
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