Обеспечение необходимой точности при численном интегрировании

 

Пусть имеется метод приближенного вычисления некоторой величины I c использованием шага h. Например, вычисление интеграла, решение дифференциальных уравнений и т.д. Мы рассмотрим вычисление интеграла

.

Функция f(x) задана аналитически, то есть в виде формулы. На практике часто применяется следующий прием вычисления величины I с заданной точностью . Выбираются шаги h1 и h2 (h2 < h1), и с использованием выбранных шагов выполняются приближения I1 и I2 к величине I (т.е. вычисляют значение I1 при заданном шаге h1 и I2 при заданном h2). Затем по некоторому критерию близости сравнивают I1 и I2. Если величины I1 и I2 достаточно близки, то величина I2 принимается за приближенное значение I. Если I1 и I2 не близки, то выбирается шаг h3 ( h3 < h2), вычисляется величина I3, которая сравнивается с I2 и т.д.

На практике, как правило, шаги hk выбираются так, что и величина Ik+1 принимается за приближенное значение I, если выполнено условие

(7.13)

Рассмотрим алгоритм вычисления определенного интеграла методом трапеции с заданной точностью с использованием описанного приема. Пусть требуется вычислить с точностью ε. Функция .

1. Ввод исходных данных: a, b, ε, n (n – начальное число разбиений отрезка [a,b]).

2. Выбор начального шага

3. Вычисление ; ; i = 0, 1, …, n .

4. Вычисление методом трапеций с шагом h величину

5. Вычисление n=n∙2; h=(b-a)/n .

6. Вычисление ; вычисление yi .

7. Вычисление

8. Если , то

9. Если , то

10. Если , то I1 = I2.

11. Если , то идем к п. 5 .

12. Вывод I= I2.

13. Конец вычислений.

Данный алгоритм применим, если функция y=f(x) задана аналитически, т.е. в виде формулы. Если f(x) задана в табличном виде ( например, она является результатом экспериментов), то приходится ограничиваться данным множеством точек, т.е. алгоритм не применим.