Численное интегрирование: прямоугольники, трапеции, Симпсон
Прямоугольники, трапеции и Симпсон: как взять интеграл без первообразной, оценить погрешность правилом Рунге и выбрать шаг. Таблицы ошибок и примеры.
Датчик расхода топлива пишет в бортовой журнал отсчёты каждую секунду: 3,2 л/ч, 3,1, 2,9… Сколько топлива сожжено за сутки? Это интеграл. Но функции нет — есть столбик из 86 400 чисел, и формула Ньютона–Лейбница беспомощна. Второй случай хуже: функция есть, а первообразной — нет. Колокол из теории вероятностей, из теории колебаний: их интегралы не выражаются через элементарные функции никак, ни за какое время стараний.
Почему формулы Ньютона–Лейбница недостаточно#
Признаемся честно: если вам удалось взять, список элементарных функций придётся пополнить. Первообразной у гауссова колокола в этом классе не существует — это доказанный факт, а не недостаток фантазии. При этом значение существует, и его умение вычислить нужно каждой программе, которая считает вероятности.
Численные методы выходят из положения самым прямолинейным образом: возвращаются к определению интеграла как предела интегральных сумм. Только предел не вычисляют до бесконечности, а останавливаются на конечном шаге: разбивают отрезок на частей, над каждой строят прямоугольник или трапецию и складывают площади. Вся наука о квадратурах — в ответе на один вопрос: какую высоту выбрать, чтобы сумма сходилась к ответу как можно быстрее. К вершинам этой науки ведёт квадратура Гаусса — оптимум среди квадратур при фиксированном числе узлов.
Прямоугольники: три варианта и три точности#
Отрезок делим на частей шага с узлами . Высоту каждого прямоугольника берём в одной из трёх точек — отсюда и три метода:
Левые и правые прямоугольники имеют точность : при уменьшении шага вдвое ошибка падает лишь вдвое, а главный член ошибки пропорционален . Средние прямоугольники точнее на целый порядок — . Причина красивая: разложение по формуле Тейлора в центре отрезка даёт , а линейный член при интегрировании по симметричному отрезку сокращается. Сдвиг точки выборки в середину бесплатно убивает главный источник ошибки — остаётся квадратичный.
Проверим всё это на конкретном интеграле при (). Все суммы здесь считаются вручную — пять значений функции : ; ; ; ; .
| Метод ($n=4$) | Значение | Погрешность |
|---|---|---|
| Левые прямоугольники | 0,7595 | 6,6·10⁻² |
| Правые прямоугольники | 0,6345 | 5,9·10⁻² |
| Средние прямоугольники | 0,6912 | 1,9·10⁻³ |
| Трапеции | 0,6970 | 3,9·10⁻³ |
| Симпсон | 0,6933 | 1,1·10⁻⁴ |
Тот же набор методов на при () — здесь видны и знаки ошибок, и их масштаб:
| Метод | Значение | Погрешность |
|---|---|---|
| Левые прямоугольники | 1,5124 | 2,06·10⁻¹ |
| Правые прямоугольники | 1,9420 | 2,24·10⁻¹ |
| Средние прямоугольники | 1,7138 | 4,5·10⁻³ |
| Трапеции | 1,7272 | 8,9·10⁻³ |
| Симпсон | 1,7183 | 3,7·10⁻⁵ |
Знаки оправдали теорию: возрастающая и выпуклая экспонента занижается левыми и средними прямоугольниками и завышается правыми и трапециями. Средние точнее трапеций вдвое — отношение близко к двум. Симпсон отрывается на два с лишним порядка, хотя расходует те же пять значений функции, что и все остальные методы таблицы.
Метод трапеций: откуда берётся формула ошибки#
Трапеции соединяют точки и хордой и складывают площади получившихся трапеций:
Формула погрешности выводится в две руки с рядом Тейлора. Растянем один отрезок:
- Разложим около :
- Точная площадь: — это тот же ряд, проинтегрированный почленно
- Площадь трапеции:
- Разность: при — трапеция завышает площадь на выпуклом участке
- Складывая по всем отрезкам и сворачивая сумму вторых производных через интеграл, получаем итог:
Итого трапеции — метод второго порядка: , то есть уменьшение шага вдвое снижает ошибку вчетверо. Числа это подтверждают: для трапеции при ошиблись на , при — на . Отношение ровно четыре. Для экспоненты : трапеции с дают против точного — ошибка .
Для измерений с неравномерным шагом трапеции всё равно работают: на каждом интервале площадь считается как — половина суммы высот на длину интервала. Средним прямоугольникам нужны точки в серединах интервалов, которых в таблице может не оказаться; Симпсону — равномерная сетка и чётное число интервалов. Есть у трапеций и неожиданный талант: на периодических функциях, чей период укладывается в отрезок интегрирования целое число раз, они сходятся быстрее любого своего теоретического порядка — за это их любят в спектральных расчётах.
Формула Симпсона: парабола вместо хорды#
Хорда — многочлен первой степени. А что, если гнать через три соседние точки параболу? Симпсон так и делает: на паре отрезков строится интерполяционная парабола (тот же аппарат, что в интерполяции функций), интегрируется и даёт веса на трёх узлах. В составной формуле веса чередуются:
Число отрезков обязано быть чётным — иначе на последний отрезок параболы не хватит. Точность — четвёртый порядок, : шаг вдвое меньше — ошибка в 16 раз меньше. Бонус, который всегда удивляет: формула точна не только для парабол, но и для любых кубических многочленов — нечётные члены разложения при усреднении взаимно уничтожаются. Погрешность равна .
Масштаб выигрыша виден на при : Симпсон даёт против точного — ошибка . Трапеции на той же сетке ошиблись на : хуже в 240 раз при той же стоимости вычислений (пять значений функции у обоих).
Правило Рунге: как выбрать шаг автоматически#
Остался последний вопрос: сколько отрезков брать? Считать с запасом — жалко машинного времени, а в больших расчётах и стенки нет. Ответ дал Рунге: посчитайте интеграл дважды — с шагом и с шагом — и сравните. Для метода порядка ошибка более точного значения оценивается так:
Числа из примера с экспонентой: трапеции дали и . Оценка: . Фактическая ошибка равна — оценка попала, не зная точного ответа. Заодно получен бонус — уточнение Ричардсона: с ошибкой , лучше обоих исходных значений. Рекурсивное применение этой идеи — уже целая промышленная схема, а правила обращения с накопленной погрешностью разобраны в уроке про источники погрешностей.
Оговорка про честность: правило Рунге предполагает, что главный член ошибки действительно доминирует. Для разрывных, быстро осциллирующих или очень «крутых» функций разность может подводить, поэтому библиотеки после каждого удвоения сверяют новую оценку с предыдущей. Практический ориентир: если при последовательных удвоениях оценка стабильно падает примерно вчетверо (для трапеций) — вы в асимптотическом режиме, и цифрам можно верить. Оценка скачет — сетка ещё слишком грубая, продолжайте удвоение.
Какой метод выбрать под задачу#
| Метод | Порядок | Когда брать |
|---|---|---|
| Левые/правые прямоугольники | O(h) | Грубая прикидка, teaching-пример; для монотонной функции дают двустороннюю вилку |
| Средние прямоугольники | O(h²) | Простая и точная квадратура, когда функция вычисляется только в одной точке на отрезок |
| Трапеции | O(h²) | Функция задана таблицей в узлах; обязателен на неравномерной сетке |
| Симпсон | O(h⁴) | Гладкая функция и чётное n — стандартный выбор почти всегда |
| Ромберг / Гаусс | выше | Когда нужна высокая точность и функция дорогая |
Считайте не отрезки, а вычисления функции — именно они стоят денег. На Симпсон с восемью отрезками расходует девять значений функции и получает ошибку около ; трапециям для той же точности понадобилось бы порядка двухсот значений. Когда каждое значение функции — минута счёта вспомогательной задачи, разница превращается из академической в суточную.
Порядок точности живёт на гладких функциях. Разрыв внутри отрезка роняет любой метод до первого порядка — режьте отрезок в точке разрыва и интегрируйте куски отдельно. Острые пики требуют сгущения сетки именно там, где они стоят; локальная проверка Рунге покажет, в каком месте ошибка не проходит. А если подынтегральная функция сама — решение дифференциального уравнения, интегрирование и решение ОДУ сливаются в одну задачу: об этом — финальный урок курса.
- Порядок точности важнее красивого названия: чтобы догнать Симпсона при на , трапециям нужно примерно
- Ошибка имеет знак: выпуклая функция — трапеции завышают; знание знака позволяет строить вилки
- Разрыв или острый пик внутри отрезка обесценивает высокие порядки — делите отрезок на пике
- Для табличных данных доступна только та сетка, что измерена: трапеции — рабочая лошадка
- Погрешность считают по правилу Рунге — двумя расчётами, без обращения к точному ответу
Следующий логичный шаг — научиться по той же логике дифференцировать табличные функции: это численное дифференцирование с его ловушками шума. А если интеграл входит в дифференциальное уравнение, те же квадратуры превращаются в методы Рунге–Кутты — об этом наш урок про численное решение ОДУ. Потренировать ручные интегралы стоит в тренажёре интегралов, а термин интеграл в словаре пригодится, если определение подзабылось.
Шаг метода трапеций уменьшили вдвое. Как примерно изменится погрешность?
Функция возрастает на . Что даст метод левых прямоугольников?
Для каких функций формула Симпсона точна (ошибка нулевая)?
Частые вопросы
Как вычислить интеграл, если функция задана таблицей измерений?
Примените метод трапеций: каждые две соседние точки соедините отрезком и просуммируйте площади трапеций — формула при равномерном шаге. Если таблица плотная и гладкая, Симпсон по узлам даст точнее, но требует чётного числа интервалов. Вручную это пара минут, в электронных таблицах — один столбец формул.
Почему нельзя просто взять очень много прямоугольников вместо хитрых формул?
Можно, но дорого. Прямоугольники дают ошибку порядка : чтобы получить лишний знак точности, число отрезков придётся увеличить в 10 раз, и во столько же раз вырастет число вычислений функции. Симпсон за каждый знак точности требует лишь увеличить примерно в раза. На дорогих функциях разница измеряется часами машинного времени.
Что такое правило Рунге и зачем оно нужно?
Это способ оценить погрешность, не зная точного ответа: интеграл считают дважды с шагами и , а разность результатов делят на , где — порядок метода (3 для трапеций, 15 для Симпсона). Полученная величина — оценка ошибки более точного расчёта. На ней же основан автоматический выбор шага в библиотечных интеграторах.
Метод трапеций и метод средних прямоугольников — какой точнее?
Оба второго порядка, но у средних прямоугольников коэффициент вдвое меньше: ошибка против , и знаки противоположны. Если функция вычисляется свободно, средние прямоугольники выгоднее. Если данные есть только в узлах таблицы — выбора нет, работают трапеции.
Готовитесь к контрольной?
Чеклист тем по «Численные методы»: что вы уже умеете, что повторить и в каком порядке.
Открыть чеклист предмета →
Проверьте себя в бою
Босс-экзамен по «Численные методы»: квизы всех уроков плюс бесконечный поток сгенерированных задач. Каждая попытка — новый расклад.
Начать босс-экзамен →