Интегралы: определение, свойства и примеры

Интегралы: определение, свойства и примеры Полезное

Интеграл — это одно из двух понятий. Неопределенный интеграл — семейство первообразных функции (именно первообразная, а не интеграл в целом, есть операция, обратная дифференцированию). Определенный интеграл на отрезке [a, b] измеряет накопленную величину (например, площадь под графиком) и связан с первообразной формулой Ньютона-Лейбница при выполнении ее условий. Ниже разберем два вида интегралов и чем они отличаются, основные свойства с условиями применимости, методы расчета и примеры с числами, которые проверены прогоном кода. В конце — где интегралы встречаются в программировании и машинном обучении.

Два вида интегралов: не путать функцию и число

Слово «интеграл» покрывает два разных объекта, и их постоянно смешивают. Развести их проще всего так: неопределенный интеграл — это функция (точнее, целое семейство функций), а определенный — это число.

Признак Неопределенный интеграл Определенный интеграл
Что это семейство функций F(x) + C одно число
Запись ∫ f(x) dx ∫ f(x) dx от a до b
Что дает все первообразные функции f значение накопления на [a, b]
Геометрия — площадь под графиком на [a, b]

Здесь важно не смешать еще одну пару понятий. Первообразная — это конкретная функция F, у которой F'(x) = f(x). А неопределенный интеграл — это все первообразные сразу, они отличаются на константу: если F подходит, то и F + 5, и F — 100 тоже. Поэтому в ответе всегда пишут «+ C»: производная константы равна нулю, и восстановить ее по одной лишь f(x) нельзя.

Например, для f(x) = 2x первообразной будет x², но также x² + 1 и x² — 7. Записывают это как ∫ 2x dx = x² + C.

Определенный интеграл: площадь под кривой

Определенный интеграл ∫ f(x) dx от a до b — это предел интегральных сумм. Отрезок [a, b] делят на мелкие части, на каждой берут значение функции и умножают на длину куска, а затем складывают. Чем мельче разбиение, тем точнее сумма прямоугольников приближает площадь фигуры под графиком. Предел этих сумм при стремлении длин всех кусков к нулю и есть определенный интеграл.

Числа a и b называют пределами интегрирования (нижним и верхним). Если f(x) ≥ 0 на [a, b], интеграл равен площади криволинейной трапеции — фигуры между графиком, осью абсцисс и вертикальными прямыми x = a и x = b. В общем случае определенный интеграл дает знаковую (ориентированную) площадь: участки, где график ниже оси, вычитаются. Геометрическую площадь считают с учетом модуля и смены знака — по интегралу от |f(x)| или по кускам с разными знаками.

Интеграл существует не всегда. Достаточное условие: функция ограничена и непрерывна на [a, b] (или имеет на нем лишь конечное число разрывов). Для непрерывной функции определенный интеграл заведомо существует.

Формула Ньютона-Лейбница

На практике определенный интеграл почти никогда не считают через предел сумм вручную. Связь между двумя видами интегралов дает формула Ньютона-Лейбница:

∫ f(x) dx от a до b = F(b) — F(a),

где F — любая первообразная функции f. Строго: если f непрерывна на [a, b] и F′ = f, то ∫ f dx от a до b = F(b) — F(a). Алгоритм расчета сводится к трем шагам:

  1. Найти первообразную F(x) (то есть неопределенный интеграл без C).
  2. Подставить верхний предел b и нижний предел a.
  3. Вычесть: из F(b) вычесть F(a).

Константа C здесь не нужна: при вычитании F(b) + C — (F(a) + C) она сокращается.

Основные свойства

Свойства делятся по виду интеграла. Для неопределенного интеграла:

  • производная интеграла равна подынтегральной функции: (∫ f(x) dx)’ = f(x);
  • интеграл суммы равен сумме интегралов: ∫ (f + g) dx = ∫ f dx + ∫ g dx;
  • постоянный множитель выносится за знак: ∫ k·f(x) dx = k·∫ f(x) dx.

Для определенного интеграла:

  • линейность: ∫ (k·f + m·g) dx = k·∫ f dx + m·∫ g dx;
  • при перестановке пределов знак меняется: ∫ f dx от a до b = -∫ f dx от b до a;
  • интеграл по нулевому отрезку равен нулю: ∫ f dx от a до a = 0;
  • аддитивность по отрезку: ∫ f dx от a до b = ∫ f dx от a до c + ∫ f dx от c до b.

Линейность работает всегда, когда обе функции интегрируемы. А вот вынести за знак интеграла можно только постоянный множитель: ∫ f·g dx в общем случае не равен произведению интегралов — это частая ошибка.

Методы расчета

Универсального рецепта «взять любой интеграл» нет: часть интегралов не выражается через элементарные функции вообще. Выбор метода зависит от вида подынтегрального выражения.

  • Таблица интегралов. Для базовых функций первообразные известны и сведены в таблицу: ∫ x^n dx = x^(n+1)/(n+1) + C (при n не равном -1), ∫ dx/x = ln|x| + C, ∫ e^x dx = e^x + C, ∫ cos x dx = sin x + C.
  • Замена переменной (подстановка). Помогает, когда под интегралом видно «функцию и ее производную». Например, ∫ 2x·e^(x²) dx: замена u = x² дает du = 2x dx, интеграл превращается в ∫ e^u du = e^u + C, то есть e^(x²) + C.
  • Интегрирование по частям. Применяют для произведений разного типа функций (степень на экспоненту, на логарифм и т. п.): ∫ u dv = u·v — ∫ v du.
  • Численное интегрирование. Когда первообразной в элементарных функциях нет или функция задана таблицей значений, интеграл считают приближенно — методом трапеций, методом Симпсона или Монте-Карло. Точность растет с числом разбиений.

Примеры расчета

Начнем с неопределенных интегралов — здесь достаточно таблицы и свойств.

∫ (3x² + 2x) dx = x³ + x² + C. Проверка обратным ходом: производная x³ + x² равна 3x² + 2x, совпадает с подынтегральной функцией.

Теперь определенный интеграл по формуле Ньютона-Лейбница.

∫ x² dx от 0 до 2. Первообразная F(x) = x³/3. Тогда F(2) — F(0) = 8/3 — 0 = 8/3, то есть примерно 2.667. Это площадь под параболой y = x² на отрезке [0, 2].

∫ 2x dx от 1 до 3. Первообразная x². Ответ: 3² — 1² = 9 — 1 = 8.

∫ 2x·e^(x²) dx от 0 до 1 (та же замена u = x²). Первообразная e^(x²), значит e^1 — e^0 = e — 1, примерно 1.718.

∫ x·e^x dx от 0 до 1 (по частям, u = x, dv = e^x dx). Первообразная e^x·(x — 1), поэтому e^1·(1 — 1) — e^0·(0 — 1) = 0 + 1 = 1.

Численный расчет кодом

Определенный интеграл задает математическое значение накопленной величины; при численном вычислении мы получаем его приближение с погрешностью. Интеграл ∫ e^(-x²) dx не выражается через элементарные функции, поэтому его считают численно. Метод трапеций на Python приближает площадь суммой трапеций под графиком. Для контроля рядом посчитан интеграл x² на [0, 2], у которого известно математическое значение 8/3:

import math

def trapz(f, a, b, n):
    h = (b - a) / n
    s = 0.5 * (f(a) + f(b))
    for i in range(1, n):
        s += f(a + i * h)
    return s * h

# контроль: x^2 на [0, 2], точное значение 8/3 = 2.6667
print(round(trapz(lambda x: x * x, 0, 2, 1000), 4))          # Вывод: 2.6667
# e^(-x^2) на [0, 1]: элементарной первообразной нет
print(round(trapz(lambda x: math.exp(-x * x), 0, 1, 100000), 6))  # Вывод: 0.746824

Здесь n — число разбиений отрезка: для x² на [0, 2] взято n = 1000 (получаем 2.6667), для e^(-x²) на [0, 1] — n = 100000 (получаем 0.746824). Чем больше n, тем меньше погрешность: у метода трапеций на гладкой функции ошибка убывает примерно как 1/n².

Тот же интеграл можно оценить методом Монте-Карло: усреднить значения функции в случайных точках отрезка. Сид зафиксирован, чтобы результат воспроизводился:

import random, math

random.seed(42)
N = 1_000_000
total = sum(math.exp(-x * x) for x in (random.random() for _ in range(N)))
print(round(total / N, 4))   # Вывод: 0.7468

Пример выше написан для отрезка длины 1 ([0, 1]), поэтому достаточно среднего значений функции. На произвольном [a, b] среднее нужно умножить на длину отрезка (b — a):

import random

def mc_integral(f, a, b, n):
    # среднее значений функции в случайных точках, умноженное на длину (b - a)
    return (b - a) * sum(f(random.uniform(a, b)) for _ in range(n)) / n

random.seed(42)
# контроль: x^2 на [0, 2], точное значение 8/3 = 2.6667
print(round(mc_integral(lambda x: x * x, 0, 2, 1_000_000), 4))   # Вывод: 2.6659

То есть Монте-Карло оценивает среднее значение функции на отрезке, а интеграл получается умножением этого среднего на (b — a); при [0, 1] множитель равен 1 и пропадает. Оба метода дают около 0.7468 — это и есть приближение интеграла. Метод трапеций сходится быстрее на гладких функциях, а Монте-Карло выигрывает в задачах большой размерности, где сетку строить дорого.

Где интегралы нужны программисту и в ML

В машинном обучении и анализе данных интеграл появляется там, где величина «накапливается» по непрерывному диапазону.

  • Вероятность и плотности. Для непрерывной случайной величины площадь под графиком плотности p(x) по всей области равна единице: ∫ p(x) dx = 1. Вероятность попасть в интервал — интеграл плотности по этому интервалу.
  • Математическое ожидание. Среднее значение непрерывной величины — это интеграл E[X] = ∫ x·p(x) dx. Дисперсия и другие моменты считаются похоже.
  • Нормировка нормального распределения. Множитель перед экспонентой в формуле гауссианы берется как раз из интеграла: ∫ e^(-x²) dx по всей оси равен √π (примерно 1.7725).
  • Метрики качества. Площадь под ROC-кривой (AUC) — это интеграл. ROC AUC можно интерпретировать как вероятность того, что случайный положительный объект получит оценку выше случайного отрицательного; метрика оценивает качество ранжирования, а не выбирает рабочий порог и не отвечает за калибровку вероятностей.

Освойте тему на практике

Освоить эти сюжеты на практике помогает курс Базовая математика для цифровых профессий: производные, интегралы и основы теории вероятностей на задачах, близких к работе с данными. Посмотреть формат занятий и разобрать тему с преподавателем можно на бесплатных открытых уроках.

Смежные темы: Исследование и построение графиков функций, Случайные числа в Python, Как создать нейросеть.

Выводы

Неопределенный интеграл дает семейство первообразных F(x) + C (нахождение первообразной — операция, обратная дифференцированию), а определенный — число, равное накоплению величины на отрезке (для неотрицательной функции это площадь под графиком, в общем случае — знаковая площадь). Связывает их формула Ньютона-Лейбница: ∫ f dx от a до b = F(b) — F(a). Простые интегралы берут по таблице и свойствам, сложные — заменой переменной или по частям, а когда первообразной в элементарных функциях нет — численно. В программировании и ML интегралы описывают вероятности, средние значения и метрики качества.

FAQ

Чем интеграл отличается от производной? Производная показывает мгновенную скорость изменения функции, а интеграл суммирует (накапливает) значения по диапазону. Это взаимно обратные операции: дифференцирование интеграла возвращает исходную функцию.

Почему в ответе неопределенного интеграла всегда стоит «+ C»? Потому что производная любой константы равна нулю, и функции, отличающиеся на константу, имеют одну и ту же производную. По одной лишь f(x) восстановить эту константу нельзя, поэтому записывают все первообразные сразу.

Может ли определенный интеграл быть отрицательным? Да. На участках, где функция ниже оси абсцисс, вклад в интеграл отрицательный. Поэтому определенный интеграл равен площади только для неотрицательной функции; в общем случае это разность площадей над осью и под ней.

OTUS Журнал