
- •Тема 4. Численное дифференцирование и интегрирование
- •4.1. Численное дифференцирование: постановка задачи, вывод формул
- •4.2. Оценка погрешности численного дифференцирования
- •4.3. Обусловленность численного дифференцирования.
- •4.4. Формулы для высших и частных производных
- •4.5. Задача численного интегрирования
- •4.6. Формула трапеций
- •4.7. Формула Симпсона
- •4.7.2. Оценка погрешности формулы Симпсона.
- •4.8. Составные формулы численного интегрирования
- •4.9. Метод дробления шага. Правило Рунге
- •4.10. Обусловленность квадратурных формул
- •Тема 5. Численное решение обыкновенных дифференциальных уравнений (оду)
- •5.1. Основные понятия
- •5.2. Классификация численных методов решения задачи Коши для уравнения 1-го порядка
- •Результаты расчетов примера 5.3
- •5.3. Точность и устойчивость
- •5.3.1. Свойства задачи Коши
- •5.3.2. Свойства численных методов решения задачи Коши
- •5.4.1. Подходы к выводу расчётных формул.
- •5.4.2. Формулы методов 4-го порядка.
- •Метод Адамса-Моултона. Это 3-х шаговый неявный метод.
- •5.5. Методы Рунге-Кутты
- •Методы 4-го порядка точности. Результаты расчетов примера 5.3
- •5.6. Правило Рунге-Ромберга
- •5.7. Системы дифференциальных уравнений
- •Приложение Программа решения системы дифференциальных уравнений
- •Текст программы
4.8. Составные формулы численного интегрирования
Описанные формулы численного интегрирования легко обобщить на случай применения многочленов более высоких степеней и тем самым добиться улучшения точности решения задачи (подобный метод широко применяют, при этом, в частности, получаются так называемые квадратурные формулы Ньютона-Котеса). Однако, более перспективен другой способ, основанный на кусочной аппроксимации подынтегральной функции многочленами невысокой степени.
4.8.1. Кусочно-гладкая аппроксимация функций. Пусть функция интерполируется на отрезке [a, b]. Метод решения этой задачи с помощью единого для всего отрезка многочлена Рn(х) называют глобальной многочленной интерполяцией. При всей привлекательности перспективы иметь такой единый многочлен, существуют весьма веские причины, по которым глобальная интерполяция многочленами высокой степени в вычислительной практике, как правило, не используется.
1. Одна из основных причин этого заключается в проблеме сходимости аппроксимации при росте n. Рассмотрим пример.
Пример 4.4. Непрерывную функцию у = | x | надо приблизить на отрезке [–1, 1] с высокой точностью. На рис. 4.5 и 4.6. приведены графики интерполяционных многочленов 5 и 13 степеней, соответственно. Видно, что при сравнительно невысокой степени n = 5 велика погрешность аппроксимации в точке х = 0. При более высоких степенях, начиная с n = 9, появляются “паразитические” всплески вблизи точек х = ±1, нарастающие при увеличении n. В результате высокая точность, порядка e = 0.001, оказывается недостижимой.
В известной степени точность глобальной многочленной интерполяции можно повысить за счет оптимального расположения узлов, однако полностью этим проблема не снимется.
Рис. 4.5. Интерполяция
функции у = | x
| многочленом 5-й степени
2. Вторая проблема заключается в ухудшении обусловленности задачи интерполяции при росте n, и соответственно, в повышении чувствительности к погрешности округления.
В значительной мере проблемы глобальной аппроксимации могут быть сняты применением кусочно-гладкой, в частности – кусочно-полиномиальной интерполяции. Суть подхода заключается в следующем. Исходный отрезок [a, b] разбивается на несколько отрезков меньшей длины, на каждом из которых функция приближается своей гладкой кривой, например, многочленом. Низкая степень многочленов гарантирует отсутствие нежелательных эффектов, подобных рассмотренным в примере 4.4, а малая величина каждого отрезка способствует увеличению точности аппроксимации. Так, в примере 4.4 исходную функцию можно абсолютно точно приблизить двумя многочленами 1-й степени на отрезках [–1, 0] и [0, 1], соответственно.
Рис. 4.6. Интерполяция
функции у = | x
| многочленом 13-й степени
Замечание. Подобный подход также имеет недостатки, главным из которых является негладкость интерполяционных кривых в точках “стыковки” отдельных многочленов. Данный недостаток может быть преодолен использованием так называемой сплайн-аппроксимации, при которой параметры многочленов подбираются из условия гладкости сочленения (совпадения первых производных) отдельных звеньев (сплайнов) в точках “склеивания”. Подобная интерполяция используется при решении многих задач, в частности, в компьютерной графике и машиностроении при построении линий сложной формы. На рис. 4.7 приведены графики различных видов интерполяции.
Рис. 4.7. Интерполяция
табличной функции
···
– узлы
исходной функции;
– глобальная
многочленная интерполяция;
– кусочно-гладкая
параболическая интерполяция
– сплайновая
интерполяция (х
= 2 – точка склеивания)
Для нужд численного интегрирования негладкость кусочной аппроксимации, вообще говоря, помехой не является, поэтому методы аппроксимации сплайнами подробно нами рассматриваться не будут.
Идея кусочно-гладкой аппроксимации в интегрировании: разбить отрезок [a, b] на n частей и на каждой части применить формулу трапеций или Симпсона. Из формул (4.8) и (4.10) видно, что при h < 1 погрешность этих формул уменьшается.
4.8.2. Составная формула трапеций. Разобьём отрезок [a, b] на n частей равноотстоящими точками x0 = a, x1 = a + h, …, xn = b, и на каждой части [xi, xi+1] применим формулу трапеций:
(
yi
+ yi+1).
Получим
[(
y0
+ y1)
+ ( y1
+ y2)
+ … + ( yn–1
+ yn)]
h
– (4.11)
составная формула трапеций. Её геометрический смысл – подынтегральная функция заменяется ломанной.
4.8.3.
Оценка погрешности.
Очевидно, погрешность формулы (4.11) равна
сумме погрешностей на каждом i-м
интервале. Воспользуемся формулой
(4.8), получим
=
–
,
где i[xi,
xi+1].
Обозначим
=
– среднее арифметическое значений
второй производной, а также m
=
,
M
=
.
По известному свойству среднего
арифметического имеем: m
M.
Из математического анализа известна 2-я теорема Больцано-Коши: если функция y(x) непрерывна на отрезке, то она принимает все свои значения, от минимального до максимального. Иными словами, для любого р, такого что min y(x) p max y(x), уравнение p = y(x) всегда имеет решение при непрерывной функции у(х). Для разрывной функции это, вообще говоря, неверно (см. рис. 4.8).
Рис. 4.8. Иллюстрация
ко 2-й теореме Больцано-Коши:
непрерывная и
разрывная функции.
Если f’’() непрерывна на [a, b], то к ней применима указанная теорема при р = . Значит, существует такая точка [a, b], что = f’’(). Следовательно,
=
n
= nf
’’().
Тогда
=
–
=
–
.
Следовательно,
=
–
.
(4.12)
4.8.3. Составная формула Симпсона. Разобьём отрезок [a, b] на n частей, где n – чётно. Применим формулу Симпсона к каждому двойному отрезку [x2i–2, x2i]. Тогда
[(y0
+ 4y1
+
y2)
+ (y2
+ 4y3
+
y4)
+ … + (yn–2
+ 4yn–1
+
yn)].
Заметим, что y2, y4,… yn–2 повторяются дважды. Отсюда
[( y0 + yn) + 4Sнечётн + 2Sчётн ] (4.13)
составная формула Симпсона.
Здесь Sнечётн = y1 + y3 + … + yn–1, Sчётн = y2 + y4 + … + yn–2.
4.8.4. Оценка погрешности. Для оценки погрешности формулы (4.13) воспользуемся оценкой (4.10) погрешности простой формулы. Применим тот же метод, что и для составной формулы трапеции. Получим
=
–
.
(4.14)
Задание. Вывести формулу (4.14) самостоятельно.