Created
September 25, 2019 17:45
-
-
Save ernestognw/68c749dd87d1a18ffe4ebc97c036e5f1 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
clear | |
/////////////////////////////////////////////////////// | |
// GaussJordan.sce | |
// | |
// Este programa calcula el resultado de | |
// un sistema de ecuaciones con el método | |
// de Gauss Jorden | |
// | |
// Ernesto Garcia -- A00820783 | |
// Santiago Díaz -- A01252554 | |
////////////////////////////////////////////////////// | |
////////////////////////////////////////////////////// | |
// askValues | |
// | |
// Función que carga los valores de una matriz | |
// con un número dado de columnas y renglones | |
// | |
// Parametros: | |
// iRows cantidad de renglones | |
// iCols cantidad de columnas | |
// Regresa: | |
// dMatrix matriz resultado con los valores ingresados | |
///////////////////////////////////////////////////// | |
function dMatrix = askValues(iRows, iCols) | |
for i = 1 : iRows | |
for j = 1 : iCols | |
dMatrix(i,j) = input("Ingresa el valor en (" + string(i) + "," + string(j) + "): ") | |
end | |
end | |
endfunction | |
////////////////////////////////////////////////////// | |
// gaussJordan | |
// | |
// Función que ejecuta el método de | |
// gauss jordan | |
// | |
// Parametros: | |
// iRows cantidad de renglones de la matriz | |
// iCols cantidad de columnas de la matrix | |
///////////////////////////////////////////////////// | |
function gaussJordan(dMatrix, iRows, iCols) | |
for i = 1 : iRows | |
dPivote = dMatrix(i, i) | |
for j = 1 : iCols | |
dMatrix(i, j) = dMatrix(i, j) / dPivote | |
end | |
for k = 1 : iRows | |
if i <> k | |
fact = -dMatrix(k, i) | |
for j = 1 : iCols | |
dMatrix(k, j) = dMatrix(k, j) + fact * dMatrix(i, j) | |
end | |
end | |
end | |
disp(dMatrix) | |
end | |
endfunction | |
/////// Programa Principal | |
// pido las dimensiones de la matriz | |
iRows = input("Cantidad de ecuaciones: ") | |
iCols = input("Cantidad de variables: ") + 1; | |
// solicita los valores de la matriz | |
dMatrix = askValues(iRows, iCols) | |
// resolvemos el sistema de ecuaciones con eliminación gaussiana y mostramos los resultados | |
gaussJordan(dMatrix, iRows, iCols) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment