Пример #1
0
        private double defaultIteration(MathFunctions.UnaryFunction <double> f, double a, double b, double estimate, int n)
        {
            double sum      = 0;
            double stepSize = (b - a) / n;
            double x        = a + (stepSize / 2);

            for (int i = 0; i < n; i++, x += stepSize)
            {
                sum += f(x);
            }

            return((estimate + (stepSize * sum)) / 2);
        }
Пример #2
0
        private double midPointIteration(MathFunctions.UnaryFunction <double> f, double a, double b, double estimate, int n)
        {
            double sum         = 0;
            double stepSize    = (b - a) / n;
            double stepSizeMid = stepSize * (2 / 3);
            double x           = a + (stepSize / 6);

            for (int i = 0; i < n; i++, x += stepSize)
            {
                sum += f(x) + f(x + stepSizeMid);
            }

            return((estimate + (stepSize * sum)) / 3);
        }