Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Программирование вычислений. Учебное пособие
.pdf
Интерполяционный полином, представленный в виде (20), называется
интерполяционным полиномом Лагранжа, а функции вида (19) – базис-
ными полиномами Лагранжа.
Например, на рис. 7 изображен интерполяционный полином Лагранжа, построенный по точкам (0, 10), (10, –10), (12, 50), (30, 80).
Рис. 7. Интерполяционный полином Лагранжа
4.2. ИНТЕРПОЛЯЦИЯ СПЛАЙНОМ
На рис. 7 виден один из основных недостатков интерполяционных полиномов: возможные (из-за высокой степени полинома) колебания и большие отклонения интерполянта от заданных значений, при максимальном
заданном значении 80 значение интерполянта превышает 300. Поэтому интерполяционные полиномы используются на практике не очень часто.
Когда не требуется бесконечная гладкость интерполянта, можно использовать интерполяцию сплайном – кусочно-гладкой функцией, у которой непрерывны одна или несколько производных на стыках интервалов
гладкости. Для интерполяции чаще всего используются кусочнополиномиальные сплайны, т.е. сплайны, которые на каждом интервале
являются полиномами одной и той же степени. Рассмотрим сплайн-интерполяцию на примере построения кубического кусочно-полиномиального
сплайна.
41

Пусть, как и раньше, известны значения некоторой функции f в
1n
, ,...,
n
x x x
S x
i i
S x f x
0,
i n
0 1 2 2 3 3
S x a a x a x a x
,
i i
x x x
1,
i n
4
n
1 1 1 1
a a x a x a x f x
1,
i n
i i i i i i i i
a a x a x a x f x
1,
i n
2
n
1 2 3 2 1 2 3 2
1 1 1
i i i i i i i i i i
a a x a x a a x a x
1, 1
i n
1 1
i i i i i i
a a x a a x
1, 1
i n
4 2
n
j
i
a
0,3
1,
i n
0 0 0
2 6 2 6 0
n n n
различных точках
0 1
. Требуется построить сплайн
, проходя-
щий через все заданные значения:
,
, (21)
при этом на каждом интервале сплайн должен быть кубическим полиномом, т.е.
,
i i i i
,
1
. (22)
Для начала попробуем построить сплайн «в лоб», т.е. просто по определению. Очевидно, что требуется определить значения
коэффициентов. Выпишем требования к этим коэффициентам. Начнем с того, что
соотношения (21) должны выполняться в левом и правом концах каждого
интервала:
0 1 2 2 3 3
,
i i i i i i i i
0 1 2 2 3 3
; (23)
,
. (24)
Уравнения (23) – (24) фактически обеспечивают не только выполнение (21), но и непрерывность сплайна (22) на концах интервалов. Добавим
к
уравнениям (23) – (24) условия непрерывности производных во всех
внутренних точках разбиения:
2 3 2 3
2 3 2 3
2 6 2 6
,
Мы получили систему (23) – (26) из
деления коэффициентов
Для однозначной разрешимости этой системы нужно задать любые
два дополнительных условия. Часто в качестве таких условий требуют
равенства нулю вторых производных на концах интервала, т.е. добавляют
в систему два уравнения
2 3 2 3
a a x a a x
На рис. 8 представлено сравнение типичного поведения двух способов интерполяции. Интерполяция производится по точкам
(0, 10), (10, –10), (12, 50), (30 80), (40, 70).
,
j ,
42
,
; (25)
. (26)
линейных уравнений для опре-
.
. (27)

Треугольниками помечен интерполяционный полином Лагранжа, а ромбами – кубический интерполяционный сплайн с непрерывной второй производной, полученный решением системы (23) – (27). Видно, что размах
колебаний сплайна существенно меньше, чем интерполяционного полинома Лагранжа.
Рис. 8. Сравнение кубического сплайна
с интерполяционным полиномом Лагранжа
4.3. УЛУЧШЕННАЯ ПРОЦЕДУРА ПОСТРОЕНИЯ СПЛАЙНОВ
Основной недостаток построения сплайна описанным выше способом –
необходимость решать систему линейных уравнений размерности 4n.
Попробуем улучшить алгоритм, изменив представление (22).
В принципе, формула (22) – это представление произвольного кубического полинома через четыре линейно-независимых полинома
2 3
1, , ,x x x
с неизвестными коэффициентами. Очевидно, что если взять лю-
бые другие линейно-независимые четыре полинома до третьей степени,
результат будет тот же. Поэтому можно подобрать эти полиномы так,
чтобы коэффициенты при них можно было вычислять каким-то более простым способом.
43

Рассмотрим идею базисных полиномов Эрмита. Эти полиномы
0,1
0
1
2 3
1 3 2
0 1
0 0
1 0
1 0
2 3
3 2
0 0
0 0
1 1
1 0
2 3
0 0
0 1
1 0
1 0
2 3
0 0
0 0
1 0
1 1
1
1
1
1
11iii i
x xxx x
,
i i
x x x
1,
i n
1
i i i
h x x
i i i i i i i i i i
0,1
i i i
a a f x
1, 1
i n
1 0
a f x
n n
a f x
2 3
i i
a a
1, 1
i n
определяются на эталонном отрезке
и обладают следующими
свойствами (см. таблицу).
Левый конец отрезка,
1
2
3
4
2
1
2
3
4
,
1
,
2
,
3
,
4
Правый конец отрезка,
1
2
3
4
,
,
,
,
1
2
3
4
Графики этих полиномов представлены на рис. 9.
1
2
3
4
0
0
1
Рис. 9. Вид базисных полиномов Эрмита
0
1
0
1
Сделаем в формуле (22) замену переменных:
и обозначим
S x a a a h a h
,
,
1
, получим
0 1 2 3
1 2 3 4
,
,
i
Очевидно, что теперь аналог уравнений (23), (24) принимает вид:
0 1
1
0
,
,
1
, (30)
, (29)
что не требует решения системы уравнений.
Вместо уравнения (25) непрерывность производных обеспечивается
уравнением
h
,
1
h
i
1
i
, (31)
44
1
. (28)

что фактически является исключением переменных
2
i
a
2,
i n
1n
1 1
, ,
i i
x x x
x x x
1, 1
i n
1 0 1
, ,
x x x
, ,
n n
x x x
1 3 1
, ,
i i i
h x x x
h x x x
1, 1
i n
1 3 0 1
, ,
h x x x
, ,
n n n
h x x x
,
и не тре-
бует решения системы уравнений.
Таким образом, для определения сплайна с непрерывной второй производной потребуется решить только
уравнений равенства вторых
производных (добавив к ним, аналогично (27), два условия равенства вторых производных нулю на концах интервала интерполяции).
Заметим, что формула (28) не удобна для представления сплайна,
поскольку не обеспечивает непрерывность сплайна и его первой производной без соотношений (29) – (31). Возможно представить сплайн гораздо
более наглядным способом.
Введем в рассмотрение следующие функции:
0,
x x
1
i
i
1
0,
,
1
i
i
1
,
, ,
x x
x
n
0,
x x
, ,
0,
x x
x
n
1
i
,
i i
1
i
x x
n
2 1
1
i
h
n
,
1
i
x x
4 1
h
n
,
1
0,
x x
,
1
n
,
1
n
0,
x x
1
n
.
0
x
0
x
x
i
x x
h
1
x
i
x x
0
x x
1 0
x x
0
0,
2 1
h
i
x x
h
i
x x
1
x x
4 1
h
i
x x
i i i
h
i
0,
x x
1
45

Вид этих функций приведен на рис.10. Обратим внимание, что каждая
из этих функций непрерывна на всем интервале
прерывную первую производную. При этом в каждом узле
денных функций только функция
первая производная только одной функции
отлична от нуля (и равна единице), и
i
отлична от нуля (и равна
i
и имеет на нем не-
x x
0,n
x
из всех вве-
i
единице). Поэтому взвешенная сумма
n
S x s x q x
i i i i
0
i
(32)
является непрерывной, кусочно-кубической функцией с непрерывной первой производной, причем
S x s x q
i i i i
dS
,
dx
. (33)
Рис. 10. Функции
i
x
и
i
x
для
1
ix
,
x
i
2.25
,
ix
.
1
3.0
2.0
Очевидно, что представление сплайна (32) – (33) гораздо удобнее, чем
представление (28), поскольку уравнения (29) – (31) превращаются в
, 0,
а для определения весов
2 2 2 2
d S d S d S d S
x x i n x x
i i n
2 2 2 2
dx dx dx dx
s f i n ,
i i
q
используются условия гладкости сплайна:
i
, 1, 1, 0, 0.
0
(34)
46

Заметим, что на практике не всегда нужен сплайн с непрерывной второй производной, обычно достаточно непрерывности первой. В этом случае веса
q
можно, в принципе, задать любыми, например, часто исполь-
i
зуют простой способ: строят интерполяционный полином Лагранжа по
точкам
1, , 1i i i
и задают значение
q
как его производную в точке i .
i
В крайних точках действуют аналогично, но только параболу строят со
сдвигом на одну точку. Этот способ позволяет построить сплайн с разумным поведением без решения системы уравнений вообще.
Рис. 11. Сравнение сплайнов с непрерывной только первой производной
и с непрерывной второй производной
На рис. 11 представлено сравнение сплайнов с непрерывной второй
производной (помечен ромбами), который был представлен ранее на
рис. 8, и сплайна с непрерывной только первой производной (помечен треугольниками), построенного описанным способом. На этом примере
видно, что отличия в колебаниях не слишком существенны. Такое поведение сплайнов типично для используемых методов построения, поэтому
сплайн с непрерывной только первой производной, построенный описанным выше способом, часто используется в приложениях, не требующих
большей гладкости интерполянта.

ГЛАВА 5. ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ
I f x dx
,
a b
,
a b
i i
f x dx q f x
,ix a b
i
q
i
x
,
a b
*
I
h
I
h
I I
Классическая задача численного интегрирования заключается в следующем. Пусть необходимо вычислить определенный интеграл
от непрерывной на
функции f. При этом сама функция f, воз-
можно, неизвестна, или непредставима аналитически, но её вычисление
возможно в любой точке отрезка
b
q
где
i
весами
,
и узлами
a
, называется квадратурной формулой, определяемой
.
Очевидно, что при построении квадратурных формул следует оценивать их точность и время вычислений. Для оценки времени вычислений
обычно предполагается, что самая «дорогая» операция – это вычисление
самой функции, т.е. оценку времени вычисления квадратурной формулы
заменяют числом вычислений подынтегральной функции. Для оценки же
точности можно использовать два способа.
Первый способ заключается в оценке максимальной степени полинома m, для которого приближенное равенство (36) является точным.
Будем называть эту степень порядком точности квадратурной формулы.
Второй способ определяется несколько сложнее. Будем считать, что
отрезок
разбивается на n одинаковых отрезков размера h (этот раз-
мер называют шагом разбиения), и вычисления по квадратурной формуле
на каждом шаге производятся как-то однотипно (по одинаковой формуле
относительно границ отрезка). Обозначим через
грала (35) (которое, конечно, не всегда известно), а через
вычисленное по изучаемой квадратурной формуле с шагом h. Естественно, квадратурная формула обычно строится таким образом, чтобы
разность
*
стремилась к нулю при стремлении к нулю шага h. Поря-
док малости этой разности относительно шага обычно называют порядком
метода (иногда его называют порядком аппроксимации) и именно его
чаще всего используют для оценки точности метода.
Рассмотрим теперь принципы построения квадратурных формул.
b
a
(35)
. Приближенное равенство
n
1
i
, (36)
точное значение инте-
– значение,
48

5.1. МЕТОД ПРЯМОУГОЛЬНИКОВ
f x dx hf h
h
h
,
2 2
h h
F x
f x
F x f t dt
0 0
F x f x
F x f x
F x f x
F x
, 0
0,
2
h
/ 2
h
/ 2
h
x
0
f x
y
Простейшим методом численного интегрирования является метод прямоугольников. Его идея основана фактически на определении интеграла, как
предела интегральных сумм. На каждом отрезке
значение интеграла вычисляется как площадь прямоугольника, основание которого – шаг интегрирования, а высота – значение функции в центре отрезка. В соответствии с обозначениями на рисунке
где
– погрешность квадратурной формулы, которую обычно назы-
вают остаточным членом.
Получим в явном виде
h
2
h
2
для функции4
0
f C
, (37)
2
. Для этого
запишем первообразную
функции
x
0
в виде
. (38)
Тогда, учитывая, что
F
,
,
,
.
согласно формуле Тейлора с остаточным членом в форме Лагранжа, для
функции
получим:
h h h h
F f f f
2 2 8 48
h h h h
F f f f
2 2 8 48
2 3
0 0
0 0
2 3
,
,
h
; (39)
2
. (40)
k
4
C
где
– класс k раз непрерывно дифференцируемых на множестве функций.
49

Следовательно,
24 2
24 2
h h
,
a b
0 1
N
a x x x b
, , ... ,
N
x x x
i
h
h
2
откуда
h
2
h
h h h
f x dx F F hf
3
h
2 2 24 2
f f
, т.е.
3
f f
0
, (41)
h
2
f x dx hf f
h
2
3
0 ,
. (42)
Формула (42) называется канонической квадратурной формулой ме-
тода прямоугольников с остаточным членом.
Обратим внимание, что каноническая формула (42) содержит вторую
производную интегрируемой функции, поэтому:
1) формула (42) имеет первый порядок точности, так как полиномы до
первого порядка имеют нулевую вторую производную;
2) остаточный член показывает, что точность численного интегриро-
вания зависит от интегрируемой функции, поскольку содержит её вторую
производную;
3) остаточный член напоминает, что все выкладки делались для функ-
ций, имеющих на отрезке интегрирования непрерывную вторую производную, т.е. близость значения квадратурной формулы метода прямоугольников к точному значению интеграла обоснована только для функций, у которых вторая производная есть.
Вообще говоря, численное интегрирование функций, не обладающих
достаточной гладкостью, а также вычисление несобственных интегралов
является отдельной проблемой, выходящей за рамки данного пособия.
Если же интегрируемая функция является кусочно-гладкой, то предварительное разбиение интеграла по аддитивности дает возможность применять рассматриваемые методы.
Перейдем теперь от канонической формулы к вычислению интеграла
на всём отрезке
точками
кой, а точки
. Разобьём область интегрирования на N отрезков
...
0 1
(обычно такое разбиение называют сет-
– узлами сетки). Обозначим через
длину
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
