- •Тема 4. Численное дифференцирование и интегрирование
- •1. Основные формулы численного дифференцирования
- •Контрольные вопросы и задания
- •6. Y(z) вычисляется по следующему алгоритму:
- •8. Y(z) вычисляется по следующему алгоритму:
- •2. Простые формулы численного интегрирования
- •3. Составные формулы численного интегрирования
- •3. Метод дробления шага. Правило Рунге
- •4. Тестовые примеры для программ численного интегрирования
- •Контрольные вопросы и задания
- •1. Классификация численных методов решения дифференциальных уравнений
- •Результаты расчетов примера 5.3
- •2. Вычислительные формулы численных методов 4-го порядка точности
- •Метод Адамса-Башфорта-Моултона. Это 4-х шаговый метод типа “прогноз-коррекция”. При вычислении используется формула метода Адамса-Башфорта. Коррекция производится по формуле Моултона
- •Методы 4-го порядка точности. Результаты расчетов примера 5.3
- •3. Системы дифференциальных уравнений
- •4. Программная реализация методов решения оду
- •Текст программы
- •5.4.2. Тестовые примеры для программ решения дифференциальных уравнений
- •Контрольные вопросы и задания
3. Составные формулы численного интегрирования
Описанные формулы численного интегрирования легко обобщить на случай применения многочленов более высоких степеней и тем самым добиться улучшения точности решения задачи (подобный метод широко применяют, при этом, в частности, получаются так называемые квадратурные формулы Ньютона-Котеса). Однако, более перспективен другой способ, основанный на кусочной аппроксимации подынтегральной функции многочленами невысокой степени.
3.1.1. Кусочно-гладкая аппроксимация функций. Пусть функция интерполируется на отрезке [a, b]. Метод решения этой задачи с помощью единого для всего отрезка многочлена Рn(х) называют глобальной многочленной интерполяцией. При всей привлекательности перспективы иметь такой единый многочлен, существуют весьма веские причины, по которым глобальная интерполяция многочленами высокой степени в вычислительной практике, как правило, не используется.
1. Одна из основных причин этого заключается в проблеме сходимости аппроксимации при росте n. Рассмотрим пример.
Пример 4.1. Непрерывную функцию у = | x | надо приблизить на отрезке [–1, 1] с высокой точностью. На рис. 4.4 и 4.5. приведены графики интерполяционных многочленов 5 и 13 степеней, соответственно. Видно, что при сравнительно невысокой степени n = 5 велика погрешность аппроксимации в точке х = 0. При более высоких степенях, начиная с n = 9, появляются “паразитические” всплески вблизи точек х = 1, нарастающие при увеличении n. В результате высокая точность, порядка = 0.001, оказывается недостижимой.
В известной степени точность глобальной многочленной интерполяции можно повысить за счет оптимального расположения узлов, однако полностью этим проблема не снимется.
Рис. 4.4. Интерполяция функции у = | x
| многочленом 5-й степени
2. Вторая проблема заключается в ухудшении обусловленности задачи интерполяции при росте n, и соответственно, в повышении чувствительности к погрешности округления.
Рис. 4.5. Интерполяция функции у = | x
| многочленом 13-й степени
В значительной мере проблемы глобальной аппроксимации могут быть сняты применением кусочно-гладкой, в частности – кусочно-полиномиальной интерполяции. Суть подхода заключается в следующем. Исходный отрезок [a, b] разбивается на несколько отрезков меньшей длины, на каждом из которых функция приближается своей гладкой кривой, например, многочленом. Низкая степень многочленов гарантирует отсутствие нежелательных эффектов, подобных рассмотренным в примере 4.1, а малая величина каждого отрезка способствует увеличению точности аппроксимации. Так, в примере 4.1 исходную функцию можно абсолютно точно приблизить двумя многочленами 1-й степени на отрезках [–1, 0] и [0, 1], соответственно.
Замечание. Подобный подход также имеет недостатки, главным из которых является негладкость интерполяционных кривых в точках “стыковки” отдельных многочленов. Данный недостаток может быть преодолен использованием так называемой сплайн-аппроксимации, при которой параметры многочленов подбираются из условия гладкости сочленения (совпадения первых производных) отдельных звеньев (сплайнов) в точках “склеивания”. Подобная интерполяция используется при решении многих задач, в частности, в компьютерной графике и машиностроении при построении линий сложной формы. На рис. 4.6 приведены графики различных видов интерполяции.
Для нужд численного интегрирования негладкость кусочной аппроксимации, вообще говоря, помехой не является, поэтому методы аппроксимации сплайнами подробно нами рассматриваться не будут.
Рис. 4.6. Интерполяция табличной функции
–
узлы исходной функции;
– глобальная многочленная интерполяция;
– кусочно-гладкая параболическая
интерполяция
– сплайновая интерполяция (х = 2 – точка
склеивания)
2.2. Составная формула трапеции. Следуя идее кусочно-гладкой аппроксимации, разобьем отрезок [a, b] на n равных частей точками x0 = a, xn = b, h = xi+1 – xi, обозначим yi = f(xi), и применим формулу (4.2) к каждому отрезку [xi, xi+1]. В результате получим составную формулу трапеций:
I* = h
.
(4.6)
Ее погрешность выражается формулой
= I –
I* =
,
[a
, b]. (4.7)
2.3. Составная формула Симпсона. Разобьем отрезок [a, b] на четное число равных частей точками x0 = a, xn = b, h = xi+1 – xi, обозначим yi = f(xi), и применим формулу (4.4) к каждому отрезку [xi, xi+2]. В результате получим составную формулу Симпсона:
I* =
[
(y0
+ yn)
+ 4 (y1
+ y3
+
… yn–1)
+ 2 (y2
+ y4
+
… yn–2)
].
(4.8)
Ее погрешность выражается формулой
= I – I* =
,
[a
, b]. (4.9)
