Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- Реализуйте метод, выполняющий численное интегрирование заданной функции на заданном интервале по формуле левых прямоугольников.
- Функция задана объектом, реализующим интерфейс java.util.function.DoubleUnaryOperator. Его метод applyAsDouble() принимает значение аргумента и возвращает значение функции в заданной точке.
- Интервал интегрирования задается его конечными точками a и b, причем a<=b. Для получения достаточно точного результата используйте шаг сетки не больше 10−6.
- **/
- public static double integrate(DoubleUnaryOperator f, double a, double b) {
- int n = 1000000;
- double h = (b - a) / n;
- double xi_prev = a;
- double fn = 0;
- for(int i = 0; i < n - 1; i++) {
- double xi = a + i * h;
- fn += (f.applyAsDouble(xi_prev) * (xi - xi_prev));
- xi_prev = xi;
- }
- return fn;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement