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