public double[] Integral(double paso, double[] y, MetodoIntegral metodoIntegral) { double[] Y = new double[y.Length - 1]; double h = paso; for (int i = 0; i < Y.Length; i++) { Y[i] = h * y[i]; } return(Y); }
/// <summary> /// Regresa el valor de la integral /// </summary> /// <param name="x">Valores en X</param> /// <param name="y">Valores en Y</param> /// <param name="ini">Limite inicial de la integral</param> /// <param name="fin">Limite superior de la integral</param> /// <param name="metodoIntegral">Metodo de integracion</param> /// <returns></returns> public double Integral(double[] x, double[] y, double ini, double fin, MetodoIntegral metodoIntegral) { double paso = x[1] - x[0]; double salida = 0; switch (metodoIntegral) { case MetodoIntegral.Rectangulo: double[] temp = Rectangulo(x, y); salida = CumSum(temp, ini, fin, paso, x[0]); break; case MetodoIntegral.Trapezio: salida = Trapecio(x, y, ini, fin, paso); break; case MetodoIntegral.Simpson: salida = Simpson(x, y, ini, fin, paso); break; case MetodoIntegral.TrapecioCompuesto: salida = TrapecioCompuesto(x, y, ini, fin, paso); break; case MetodoIntegral.SimpsonCompuesto: salida = SimpsonCompuesto(x, y, ini, fin, paso); break; case MetodoIntegral.Extrapolacion: salida = Extrapolacion(y, ini, fin); break; case MetodoIntegral.Pmedio: salida = Pmedio(x, y, ini, fin); break; default: break; } return(salida); }