Skip to content

Instantly share code, notes, and snippets.

@ernestognw
Created September 25, 2019 17:45
Show Gist options
  • Save ernestognw/68c749dd87d1a18ffe4ebc97c036e5f1 to your computer and use it in GitHub Desktop.
Save ernestognw/68c749dd87d1a18ffe4ebc97c036e5f1 to your computer and use it in GitHub Desktop.
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