private void btn_Calcular_Click(object sender, EventArgs e) { var incognitas = Convert.ToInt16(txt_NumeroIncognitas.Text); var filas = incognitas; var columnas = incognitas + 1; ParametroGaussJordan parametro = new ParametroGaussJordan(filas, columnas) { NumeroIncognitas = incognitas, }; for (int i = 0; i < filas; i++) { for (int c = 0; c < columnas; c++) { parametro.Matriz[i, c] = Convert.ToDouble(Matriz[i, c].Text); } } try { var resultado = MetodoEcuaciones.GaussJordan(parametro); MostrarResultado(resultado); } catch (Exception exception) { MessageBox.Show(exception.Message); } }
public ResultadoEcuacionesGaussJordan GaussJordan(ParametroGaussJordan parametro) { ResultadoEcuacionesGaussJordan resultado = new ResultadoEcuacionesGaussJordan(); int fila = parametro.NumeroIncognitas - 1; int columna = parametro.NumeroIncognitas; for (int i = 0; i <= (columna - 1); i++) { AcomodarFilas(parametro.Matriz, i, fila, columna); Normalizacion(parametro.Matriz, i, columna); HacerCero(parametro.Matriz, i, fila, columna); } for (int i = 0; i < parametro.NumeroIncognitas; i++) { Incognita incognita = new Incognita(); incognita.Nombre = "X" + (i + 1); incognita.Valor = parametro.Matriz[i, columna]; resultado.Solucion.Add(incognita); } return(resultado); }