Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Численные методы.doc
Скачиваний:
37
Добавлен:
14.08.2019
Размер:
4.24 Mб
Скачать

§ 3. Метод Симпсона (параболическое интерполирование)

До сих пор функция f(x) на каждом из отрезков интегрирования заменялась линейной функцией вида k·x + m. Для более точного приближения заменим её квадратным трёхчленом a·x2 + b·x + c, где коэффициенты a , b , c подберём так, чтобы значения этого трёхчлена совпадали с f(x) в трёх точках: xi , xi+1/2 = и xi+1 . Такое требование приводит к системе линейных уравнений с неизвестными a, b, c:

,

определитель которой равен

и не обращается в ноль. Таким образом, эта система имеет единственное решение при любых правых частях.

Для того чтобы найти решение без вычислений, заметим, что квадратный трёхчлен

где = xi+1xi удовлетворяет требованиям L(xi) = fi , L(xi+1/2) = fi+1/2 , L(xi+1) = fi+1 , в чём легко убедиться, подставляя эти значения аргумента.

Кроме того, справедливы следующие выкладки:

Аналогично вычисляем:

Значит,

.

Теперь получаем формулу Симпсона:

Для оценки погрешности этой формулы будем рассуждать так же, как и для формулы трапеций, предполагая функцию f(x) трижды непрерывно дифференцируемой на (xi ; xi+1). Оценим разность

r(x) = f(x) – L(x) – K·(x – xi)·(x – xi+1/2 )·(x – xi+1),

где x (xi ; xi+1/2) (xi+1/2 ; xi+1) = I, а Kпостоянная, определяемая условием r(y) = 0 для некоторой фиксированной точки y I, т.е. . Таким образом, трижды непрерывно дифференцируемая функция r(x) обращается в ноль, по крайней мере, в четырёх точках: xi , y, xi+1/2 , xi+1 .

По теореме Роля, производная r(x) имеет, по крайней мере, по одному корню на каждом их отрезков (xi ; y), (y ; xi+1/2) и (xi+1/2 ; xi+1) (или (xi ; xi+1/2), (xi+1/2 ; y) и (y ; xi+1) в зависимости от расположения точки y относительно середины xi+1/2 отрезка (xi ; xi+1)). Ещё раз применяя теорему Ролля, получим, что у второй производной r(x) есть, как минимум, два корня на (xi ; xi+1), а у r(x) – один. С другой стороны, ясно, что r(x) = f(x) – 0 – 6·K. Таким образом, K = , где (xi ; xi+1) – корень r(x). Итак,

f(y) = L(y) + ·(y – xi) ·(y – xi+1/2 )·(y – xi+1),

т.к. r(y) = 0, а зависит от y.

Интегрируя по y в отрезке [xi ; xi+1], получим

,

причём первое слагаемое в правой части равно (оно было вычислено ранее): , где = xi+1xi . Значит,

.

Кроме того,

где Mi = |f(x)| . Последний интеграл нужно вычислять, раскрывая модуль:

Таким образом,

и в общем виде

где M = |f(x)| .

Замечание: При условии четырежды непрерывной дифференцируемости на (a ; b) можно доказать, что погрешность метода Симпсона не превосходит , где M = |f (IV)(x)| .

Полученная оценка позволяет по заданной погрешности из неравенства найти число итераций n : n > , вычислить = , и применить осмысленно формулу Симпсона .

Пример. Вычислить с точностью до 0,001 интеграл .

Оцениваем для подынтегральной функции f(x) = третью производную:

f(x) = , f(x) = ,

f(x) = .

т.к. |–x3 + x| |x|3+|x| 2, .

Вычисляем n > , т.е. n = 12. Теперь пользуемся методом Симпсона:

Сравнивая полученное значение интеграла с точным значением 0,785398163397, получим

| – I | |0,785398163397 0,785398163346| 0,000000000051 < 0,001,

что и требовалось.

Очевидно, что точность метода Симпсона значительно превосходит точность методов прямоугольников и трапеций, а также заданную точность 0,001. Частично это обусловлено тем, что оценка величины |f(x)| была сделана очень грубо. Например, можно заметить, стандартно вычислив максимум функции на отрезке, что |–x3 + x| , т.е. |f(x)| . Тогда оценка для n будет такой: n > 6,6090, т.е. n = 7. Даже в этом случае приводимые ниже вычисления показывают, что точность метода Симпсона высока.

Теперь | – I | |0,785398163397 0,785398162080| 0,0000000013.