- •Вместо введения: о погрешностях при решении прикладных задач
- •Глава I. Численные методы решения уравнений
- •§ 1. Задача локализации корней
- •Ограничение корней
- •Локализация корней
- •Простейший (грубейший) алгоритм локализации корней:
- •§ 2. Понятие об итерационных методах уточнения корней
- •Метод деления пополам (метод вилки)
- •§ 3. Методы хорд и касательных
- •Метод хорд для монотонных выпукло-вогнутых функций
- •Метод касательных для монотонных выпукло-вогнутых функций
- •§ 4. Метрические и банаховы пространства. Теорема о неподвижной точке
- •Матричные нормы
- •§ 5. Метод простой итерации
- •§ 6. Применение метода простой итерации к решению
- •Условие h([; ]) [; ] :
- •Глава II. Вычисления в линейной алгебре
- •§ 1. Метод Гаусса и его улучшения для повышения точности решения
- •§ 2. Метод простой итерации и метод Зейделя
- •§ 3. Подготовка к применению метода простой итерации
- •§ 4. Проблема собственных значений
- •Глава III. Численное интегрирование
- •§ 1. Метод прямоугольников
- •§ 2. Метод трапеций
- •§ 3. Метод Симпсона (параболическое интерполирование)
- •Глава IV. Некоторые методы аппроксимации функций
- •§ 1. Интерполяционный многочлен Лагранжа
- •§ 2. Интерполяционный многочлен Ньютона
- •§ 3. Метод наименьших квадратов
- •Глава V. Некоторые методы численного решения дифференциальных уравнений
- •Приложение: Сводка характеристик численных методов
- •Характеристики метода:
- •Характеристики метода:
- •Характеристики метода:
- •Характеристики метода:
- •Характеристики метода:
§ 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+1 – xi удовлетворяет требованиям 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+1 – xi . Значит,
.
Кроме того,
где 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.