5.6. Вычисление интегралов с заданной точностью
Программная реализация формул Рунге или Эйткена позволяет вычислить определенные интегралы с заданной точностью, когда выбор необходимого числа разбиений интервала интегрирования осуществляется автоматически. При этом, конечно, можно использовать многократное обращение к подпрограммам соответствующих методов интегрирования, не изменяя алгоритмов самих методов. Однако для методов, использующих равноотстоящие узлы, удается модифицировать алгоритмы и уменьшить вдвое количество вычислений подынтегральной функции за счет использования интегральных сумм, накопленных при предыдущих кратных разбиениях интервала интегрирования.
Так, два приближенных значения
и интеграла
вычисляемые по методу трапеций с шагами
связаны соотношением
где
Формула (5.37) получена методом математической индукции. Если выбрать начальный шаг интегрирования
то приближенное значение интеграла (5.36) по методу трапеций запишется в виде
где
При уменьшении шага
вдвое получим приближенное значение того же
интеграла
где
Сравнение формул (5.38) и (5.39) позволяет записать соотношение между значениями
которое позволяет получать приближенное значение интеграла
с шагом
вычислив подынтегральную функцию только в одном дополнительном узле
Продолжая процесс уменьшения шага интегрирования вдвое, приходим к формуле (5.37), по которой каждое новое приближенное значение интеграла (5.36) получаем, вычислив дополнительно подынтегральную функцию только в
узле. Обращение же к подпрограмме метода трапеций потребовало бы вычисления функции в
узле.
Аналогичным способом получены соотношения между двумя приближенными значениями
интеграла (5.36), вычисляемые по методу Симпсона с шагами
где
В программах 5.4 реализован алгоритм (5.40). В качестве примера вычисляется интеграл (5.35), но в отличие от программ 5.3 вместо количества разбиений интервала интегрирования задается относительная погрешность интеграла
Дальнейшее развитие алгоритмов (5.37) и (5.40) позволит перейти к так называемым адаптивным квадратурам, в которых сокращается количество вычислений подынтегральной функции за счет выбора различного шага интегрирования в разных частях интервала в зависимости от поведения функции. Описание адаптивных алгоритмов и соответствующая программа на Фортране имеются в [19].