Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
        }