Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Gauss
Gauss
la cuarta. Los números 2, y -1 son los multiplicadores del primer paso del proceso
de eliminación. El número 6 es el elemento pivote de este primer paso y la primera
fila, que no sufre modificación alguna, se denomina fila pivote. El sistema en estos
momentos tiene el siguiente aspecto:
La implementacion en VB2010
?
1
2
3 Sub GaussSimple()
4 Dim sum, factor As Double
5 Dim n As Integer'Depende de la matriz
6 'Eliminación hacia adelante
If A(1, 1) = 0 Then
7 Console.WriteLine("" & vbLf & "*El elemento pivote a(1,1), no se puede co
8 Console.ReadLine()
9 Else
10 For k As Integer = 1 To n - 1
11 For i As Integer = k + 1 To n
factor = A(i, k) / A(k, k)
12 For j As Integer = k + 1 To n
13 A(i, j) = A(i, j) - (factor * A(k, j))
14 Next j
15 B(i, 1) = B(i, 1) - (factor * B(k, 1))
16 Next i
Next k
17 'Sustitución hacia atrás
18 X(n, 1) = B(n, 1) / A(n, n)
19 For i As Integer = n - 1 To i Step -1
20 sum = 0
For j As Integer = i + 1 To n
21 sum = sum + (A(i, j) * X(j, 1))
22 Next j
23 X(i, 1) = (B(i, 1) - sum) / A(i, i)
24 Next
25 End If
End Sub
26
27
28
Solución de Ecuaciones Lineales Simultaneas
La solución de un sistema de 'n' ecuaciones lineales simultáneas con 'n' incógnitas es un interesante reto a los
programadores. El siguiente código lo escribí inicialmente en Fortran (1992), aquí presento la versión Visual
Basic. En general, la función encuentra aplicación en Ingeniería y matemática superior. He utilizado la
función en programación de Simuladores de Flujo y Solución del Método de los Mínimos Cuadrados. El
código y un ejemplo sencillo se muestra a continuación.
DefInt A-Z
'------------------------------------------------------------------------
-
'Solución de Ecuaciones Lineales
'Sintaxis
'Argumentos:
'A(): Arreglo bidimensional que contiene la matriz
'C(): Arreglo unidimensional que entregará la solución.
'Por Ing. Harvey Triana, Petrosoft Co., 1996
'------------------------------------------------------------------------
-
Static Function Gauss(ByRef A() As Double, ByRef C() As Double) As
Boolean
'HT©
Exit Function
'------------------------------------------------------------------------
------
'Ejemplo sencillo de cómo usar Gauss. Salida a la ventana Debug
'------------------------------------------------------------------------
------
Private Sub EjemploSencillo()