gauss jordan
Indice
1.- Enunciado del programa
2.- Desarrollo del algoritmo
3.- Diagrama de flujo
4.- Prueba de escritorio
5.-Codificación
Enunciado del programa
Para este tercer parcial con los conocimientos obtenidos durante el curso, elaboraremos un programa que calcule los resultados de una matriz por el método deGauss-Jordan.
Desarrollo del algoritmo
A1X1 + A12X2 + … + A1nXn = B1 A11 A12 . . . A1n X1 B1
A21X1 + A22X2 + … + A2nXn = B2 A21A22 . . . A2n X2 B2
. . . . + . . . . + . . . + . . . . = . . . =An1X1 + An2X2 + … + AnnXn = Bn An1 An2 . . . Ann Xn Bn
A11X1 + A12X2 + . . . A1nXn B1A21X1 + A22X2 + . . . A2nXn B2
=An1X1 + An2X2 + . . . + AnnXn Bn
Diagrama de flujo
Prueba de escritorio
Codificación
Sub GaussJordan()
Dim i, j, k, m, n As Integer
Dim A(10,21) As Double
n = Cells(3, 2): m = 2 * n + 1
Range(Cells(19, 4), Cells(28, 15)).ClearContents
For i = 1 To n
For j = 1 To n
A(i, j) = Cells(i + 5, j + 2)
Next j
Next i
For i = 1 To n
A(i, n + 1) =Cells(i + 5, 13)
Next i
For i = 1 To n
For j = 1 To n
If i = j Then
A(i, j + n + 1) = 1
Else
A(i, j + n + 1) = 0
End If
Next j
Next i
For k = 1 To n
Pivote = A(k, k)
For j = 1 To m
A(k, j) = A(k, j) /Pivote
Next j
For i = 1 To n
Factor = A(i, k)
If i <> k Then
For j = 1 To m
A(i, j) = A(i, j) - Factor * A(k, j)
Next j
End If
Next i
Next k
For i = 1 To n
Cells(i + 18, 2) = "x" & i
Cells(i + 18, 4)...
Regístrate para leer el documento completo.