
- •3.1.1 Получение формул численного дифференцирования с помощью рядов Тейлора
- •3.1.2 Получение формул численного дифференцирования с помощью интерполяционного полинома Лагранжа
- •3.1.3 Получение формул численного дифференцирования с помощью интерполяционного полинома Ньютона
- •3.2 Метод неопределенных коэффициентов получения формул численного дифференцирования
- •3.3 Метод рунге оценки погрешности и получения формул численного дифференцирования
- •3.4 О некорректности операции численного дифференцирования
- •3.5 Численное интегрирование: понятие квадратурных формул
- •3.5.1 Формула прямоугольников
- •3.5.2 Формула трапеций
- •3.5.3 Формула Симпсона
- •3.6 Оценка погрешности методом рунге. Автоматический выбор шага интегрирования
- •3.7 Метод неопределенных коэффициентов получения квадратурных формул
- •3.10.2 Формула Гаусса-Лежандра
- •3.10.3 Формула Гаусса-Лагерра
- •3.10.4 Формула Гаусса-Эрмита
- •3.11.1 Вычисление интегралов с бесконечными пределами интегрирования
- •3.11.2 Вычисление интегралов от неограниченных функций
3.5.3 Формула Симпсона
Аппроксимируем подынтегральную функцию полиномом второй степени, построенным по трем узлам: xi–1, xi–1/2, xi . Интерполяционный полином Лагранжа второй степени имеет вид
Тогда
Получили формулу Симпсона для элементарного отрезка [xi–1,xi].
Суммируя, получаем составную формулу Симпсона:
(3.9)
Оценим погрешность формулы Симпсона.
Так как эта формула – симметричная, то сразу можно сделать вывод о том, что способ определения погрешности квадратурной формулы по погрешности интерполяционной формулы
будет безрезультатным (проверьте!). Поэтому используем разложение в ряд Тейлора узловых значений функции в окрестности точки x=xi–1/2:
.
Для составной формулы Симпсона
Таким образом, формула Симпсона существенно точнее, чем формула прямоугольников или трапеций. Порядок точности – четвертый.
Примечание 5. О формуле Симпсона без полуцелых точек.
Формулу Симпсона можно записать по-другому, если пронумеровать насквозь и целые, и полуцелые точки.
Тогда n=2m (то есть n – четное число), новый шаг интегрирования h1 = h/2=(b–a)/(2m), а формула имеет вид:
(3.10)
Погрешность
.
Конец примечания 5.
3.6 Оценка погрешности методом рунге. Автоматический выбор шага интегрирования
Пусть необходимо вычислить интеграл с заданной предельной погрешностью , то есть необходимо выполнение условия R . Каким выбрать шаг интегрирования?
Априорную оценку можно получить, потребовав, например, для формулы Симпсона
,
или
.
На практике такой оценкой пользоваться сложно из-за трудностей оценки четвертой производной.
Поэтому обычно используют апостериорные оценки, например, метод Рунге.
Пусть
,
где Ih,i – некоторая квадратурная формула, Ri = Cihp + o(hp+1) – погрешность квадратурной формулы, p – порядок точности.
Уменьшим шаг вдвое. Тогда
.
Сравнивая эти два соотношения, получаем формулу Рунге для уточнения найденного значения интеграла:
Первое из подчеркнутых слагаемых – главный член погрешности уточненной формулы.
Тогда последовательность действий по выбору шага интегрирования представляется следующей.
Пусть задана точность вычисления . Проводим по какой-нибудь квадратурной формуле, например, Симпсона (p=4) вычисление интеграла дважды – один раз с шагом h, другой раз с шагом h/2 . По методу Рунге определяем погрешность.
Если оценка
не выполняется, шаг уменьшается еще в два раза, и снова оценивается погрешность
,
и так далее до тех пор, пока не будет выполнено это неравенство. Таким образом, алгоритм сам определяет шаг интегрирования, сообразуясь с заданной точностью. Появляется замечательная возможность – вести интегрирование с крупным шагом на участках плавного изменения функции и с малым шагом на участках более быстрого изменения. Такие алгоритмы называются адаптивными квадратурными алгоритмами.
Отметим, что при реализации таких алгоритмов нет необходимости каждый раз вычислять заново значения функций в узловых точках; достаточно вычислять f(xi) только во вновь появляющихся узлах. И еще одна рекомендация: необходимо предусмотреть ограничение сверху на число измельчений N, иначе можно доуменьшать до машинного нуля.