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 ResultadoRegresion MetodoPolinomial(ParametroRegresion parametro, int grado) { var n = grado; int filas = n + 1; int columnas = n + 2; double[,] Matriz = new double[filas, columnas]; int contador = 0; for (int i = 0; i < filas; i++) { Matriz[i, columnas - 1] = CalcularSumatoriaConXElevado(parametro.ValoresX, parametro.ValoresY, i); contador = i; for (int c = 0; c < columnas - 1; c++) { Matriz[i, c] = CalcularSumatoriaConXElevado(parametro.ValoresX, contador); contador += 1; } } Matriz[0, 0] = parametro.ValoresX.Count; var resultado = Ecuaciones.GaussJordan(new ParametroGaussJordan(filas, columnas) { Matriz = Matriz, NumeroIncognitas = grado + 1 }); double promY = parametro.ValoresY.Sum(x => x) / parametro.ValoresY.Count; List <double> ResultadoA = resultado.Solucion.Select(X => X.Valor).ToList(); return(new ResultadoRegresion() { Resultado = ResultadoA, CoeficienteCorrelacion = CalcularCoeficienteDeCorrelacion(parametro, promY, ResultadoA) }); }