Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы научных вычислений. Введение в численные методы для физиков и инженеров
.pdf
6.5. Оценка ошибки приближённого решения 191
Пренебрегая слагаемым порядка h4, можно выразить эти векторы
через приближённые решения:
4
(a)
(a)
− u
− u
(a)
(a)
),
).
e
e
(v
≈
1
3
1
(v
≈
2
3
Если
1
(a)
− u
(a)
εp,
то v
e
(a)
есть требуемое решение и вычисления заканчиваются. В против-
2
=
v
3
ном случае вычисляется решение с вдвое меньшим шагом разностной
сетки и процесс оценки повторяется. Используя экстраполяцию, можно
построить решение
(a)
u
1
(a)
− u
(a)
),
(4v
=
3
которое имеет четвёртый порядок точности.

ГЛАВА 7
Интерполяция и приближение
функций
Список обозначений
P
(x) — интерполяционный полином
N
(x)— тригонометрический интерполяционный полином
Q
N
s(x) — интерполяционная сплайн функция
ϕ
(x) — базисная функция
m
(x) — полином Чебышева степени n
T
n
∗
x
T
7.1. Интерполяция
дискретных данных. С другой стороны, зависимость между различными
параметрами какого-нибудь явления удобнее всего представлять в аналитической форме. Такая форма позволяет определить значения в промежуточных точках, вычислить интеграл или производную или просто
представить данные в виде гладкой функции.
рая точно описывает заданный набор данных. Наиболее простой тип
интерполяции состоит в построении полинома, проходящего через заданные точки. С вычислительной точки зрения, полиномы имеют полезные
свойства: производные и интегралы от них также являются полиномами и вычисление значения полинома в некоторой точке требует только
умножений и сложений. Поэтому вначале, в пункте 7.1.1, мы рассмотрим
классические интерполяционные полиномы. В следующем параграфе мы
обсудим применение тригонометрических полиномов для интерполяции
— k-й корень полинома Чебышева степени n
n, k
˜
(x) — нормированный полином Чебышева степени n
n
Результаты экспериментов часто доступны в виде некоторого набора
Интерполяцией называется процедура определения функции, кото-

7.1. Интерполяция 193
периодических функций. В последних двух параграфах рассматривается
интерполяция кубическими сплайнами и кратко обсуждается один из
методов двумерной интерполяции.
7.1.1. Интерполяционные полиномы Лагранжа и Ньютона
Вначале определим полином первой степени, проходящий через точки (x
) и (x1,y1). Линейный полином
0,y0
(x)=
x −x
x0− x
P
1
1
1
y0+
x −x
x1− x
0
y
1
0
имеет требуемое свойство, так как P1(x0)=y0и P1(x1)=y1.Построим
теперь полином степени не выше, чем N , удовлетворяющий условиям
)=yn,n=0, ..., N, (7.1)
P
N(xn
где значения x
и ynзаданы. Такой полином определяется единственным
n
образом и может быть представлен в следующем виде:
N
где сомножители l
(x)=
P
N
(x) задаются как
n
N
m=0
m=n
x −x
xn− x
l
(x)=
n
ynln(x), (7.2)
n=0
m
,n=0, ..., N.
m
Полином (7.2) называется интерполяционным полиномом Лагранжа степени N. Для вычисления значения интерполяционного полинома
в некоторой точке x, не прибегая к явному вычислению коэффициентов полинома, применяется схема Невилла (Neville). На первом этапе
зададим значения
(0)
P
(xn)=yn,n=0, ..., N.
n
Далее, значения вспомогательных полиномов в точке x определяются
согласно рекуррентному соотношению
P
n
(k)
(x)=
(x − x
(k−1)
)P
n
n+1
(x) − (x −x
x
− x
n+k
n
n+k
)P
(k−1)
n
(x)
,
(7.3)
k =1, ..., N ; n =0, ..., N − k,

194 Глава 7
и, окончательно, мы получаем
(N)
(x)=PN(x).
P
0
П
РИМЕР 7.1 (ИНТЕРПОЛЯЦИОННЫЙ ПОЛИНОМ ЛАГРАНЖА). В Табли-
це 7.1 представлены значения y
в соответствующих точках xn,итре-
n
буется провести гладкую кривую через эти точки.
Таблица 7.1.
n x
n
y
n
0 1 1
1 2 2
2 4 3
3 5 2
Определим сомножители ln(x), которые для данного набора данных
записываются как
3
(x)=
l
0
l
1
(x)=
l
2
l
3
(x)=
(x)=
m=1
m=0
m=1
3
m=0
m=2
m=0
x −x
x0− x
3
2
x − x
x1− x
x −x
x2− x
x −x
x3− x
m
m
m
m
m
m
m
m
1
= −
(x − 2)(x − 4)(x − 5),
12
1
(x − 1)(x − 4)(x − 5),
=
6
1
= −
(x − 1)(x − 2)(x − 5),
6
1
(x − 1)(x −2)(x − 4).
=
12
Тогда интерполяционный полином Лагранжа имеет вид
P
3
(x)=
1
(3x −2)(x − 4)(x − 5) +
12
1
(11 − 2x)(x − 1)(x − 2).
6
На рисунке 7.1 показан интерполяционный полином Лагранжа вместе
с исходными данными из Таблицы 7.1. Предположим, что нам нужно

7.1. Интерполяция 195
3.5
3
2.5
P x
()
3
2
1.5
1
1 1.5 2 2.5 3 3.5 4 4.5 5
Рис. 7.1. Гладкая кривая, описывающая данные из Таблицы 7.1: ◦ — данные;
— интерполяционный полином Лагранжа
x
вычислить значение P3(x) в промежуточной точке x =3,тогдасхема
Невилла (7.3) представляется в виде следующей таблицы.
k P
(k)
(x),n=0, ..., 3 − k
n
0 1232
1 35/24
2 8/33
3 17/6
Легко проверить, что P
(3)
(3) = PN(3).
0
Представление интерполяционного полинома в форме (7.2) имеет
простой вид, и поэтому оно часто используется для теоретического анализа. Однако, с точки зрения практических вычислений, такое представление применимо только для небольших значений N .СувеличениемN
сомножители l
(x) возрастают и начинают сильно осциллировать. Су-
n
ществует другое представление интерполяционного полинома, которое
лучше подходит для вычислений, и оно основано на разделённых разностях. Пусть заданы различные точки x
,...,xNи значения в этих
0

196 Глава 7
точках y0,...,yN. Разделённые разности нулевого порядка есть просто
значения y
Разделённые разности порядка k вточкеx
:
n
(0)
D
= yn,n=0, ..., N.
n
вычисляются по следу-
n
ющим рекуррентным формулам:
D
(k)
n
(k−1)
D
n+1
=
x
n+k
− D
− x
(k−1)
n
,k=1, ..., N ; n =0, ..., N − k.
n
Тогда, используя введённые обозначения, интерполяционный полином, удовлетворяющий условию (7.1), записывается в виде
P
N
(x)=D
(0)
0
N
+
m=1
D
(m)
0
m−1
(x − xn). (7.4)
n=0
Полином (7.4) называется интерполяционным полиномом Ньютона. Его
можно представить и в другой форме:
(x)=
P
N
=%...%D
(N)
0
(x−x
N−1
)+D
(N−1)
0
&
(x−x
)+...+D
N−2
(1)
0
&
(x−x
)+D
0
(0)
0
Используя это представление, значение интерполяционного полинома Ньютона в некоторой точке x может быть вычислено простым
и эффективным способом. Этот алгоритм называется схемой Горнера
(Horner) и задаётся следующими рекуррентными формулами:
(N)
= D
a
N
= a
a
k
(x − xk)+D
k+1
,
0
(k)
,k= N −1, ..., 0.
0
Тогда требуемое значение полинома равно последнему элементу этой
последовательности, то есть P
П
РИМЕР 7.2 (ИНТЕРПОЛЯЦИОННЫЙ ПОЛИНОМ НЬЮТОНА). Рассмотрим
(x)=a0.
N
данные, представленные в Таблице 7.1. Разделённые разности, вычисленные на основе этих данных, показаны в следующей таблице.
.
k D
(k)
(x),n=0, ..., 3 − k
n
0 1245
1 11/2 −1
2 −1/6 −1/2
3 −1/12

7.1. Интерполяция 197
Коэффициенты интерполяционного полинома Ньютона расположены в
первом столбце этой таблицы. Тогда этот полином записывается в виде
P
(x)=1+(x −1) −
3
1
(x − 1)(x −2) −
6
1
(x − 1)(x − 2)(x − 4).
12
7.1.2. Тригонометрические интерполяционные полиномы
На практике мы часто сталкиваемся с периодическими функциями,
которые имеют следующее свойство: f (x + T )=f (x),гдеT>0 называ-
ется периодом функции. Например, функции, определённые на замкнутых плоских или пространственных кривых, могут рассматриваться как
периодические функции. Полиномиальная интерполяция не подходит
для таких зависимостей, так как алгебраические полиномы не являются
периодическими функциями. Поэтому мы обратимся к интерполяции с
использованием тригонометрических полиномов. Пусть, для простоты,
период T равен 2π. Предположим, что заданы значения y
различных точках x
тригонометрический полином Q
,...,x2N∈ [0, 2π). Тогда существует единственный
0
Q
N(xn
(x), удовлетворяющий условию
N
)=yn,n=0, ..., 2N.
,...,y2Nв
0
В представлении Лагранжа этот полином имеет вид
2N
где сомножители l
(x)=
l
n
(x)=
Q
N
(x) задаются как
n
0
sin
sin
1
2
0
1
(xn− xm)
2
2N
m=0
m=n
ynln(x), (7.5)
n=0
1
(x − xm)
,n=0, ..., 2N.
1
Когда точки интерполяции расположены равномерно, представление (7.5)
можно упростить. Для нечётного числа точек
2πn
=
x
n
2N +1
,n=0, ..., 2N,

198 Глава 7
существует единственный тригонометрический полином
N
a
Q
(x)=
N
0
+
2
(ancos(nx)+bnsin(nx)), (7.6)
k=1
удовлетворяющий условию
Q
)=yn,n=0, ..., 2N.
N(xn
Коэффициенты этого полинома вычисляются следующим образом:
a
b
n
n
=
2N +1
=
2N +1
ymcos
ymsin
2N +1
2πmn
2N +1
2N
2
m=0
2N
2
m=0
2πmn
,n=0, ..., N,
,n=1, ..., N.
Для чётного числа точек
πn
=
x
n
,n=0, ..., 2N − 1,
N
существует единственный тригонометрический полином
N−1
Q
(x)=
N
1
(a
+ aNcos(Nx)) +
0
2
(ancos(nx)+bnsin(nx)), (7.7)
n=1
удовлетворяющий условию
Q
)=yn,n=0, ..., 2N − 1.
N(xn
Коэффициенты этого полинома вычисляются следующим образом:
2N−1
1
a
=
n
N
m=0
2N−1
1
b
=
n
N
ymsin
m=0
ymcos
πmn
πmn
,n=0, ..., N,
N
,n=1, ..., N − 1.
N
Тригонометрические интерполяционные полиномы (7.6) и (7.7) можно рассматривать как приближённый ряд Фурье, где интегралы, определяющие коэффициенты этого ряда, вычисляются по методу прямоугольников для равномерной сетки.

7.1. Интерполяция 199
Для вычисления значения тригонометрического интерполяционного
полинома в некоторой точке x следует использовать процедуру, аналогичную схеме Горнера для алгебраических полиномов. Только теперь
рекуррентные формулы имеют следующий вид:
α
= αkcos(x) − βksin(x)+a
k−1
β
= βkcos(x)+αksin(x),
k−1
k−1
,
(7.8)
k = N, ..., 1,
сначальнымиусловиямиα
Если вместо a
подставить bNи задать начальное условие αN= b
N
= aNи βN=0. В итоге мы получим
N
N
α
=
0
ancos(nx).
n=0
и βN=0, то рекуррентные формулы (7.8) дают
N
β
=
0
bnsin(nx).
n=1
Следовательно, вычисление значения тригонометрического полинома в точке x требует только вычисления функций sin(x) и cos(x), 8N
умножений и 6N сложений.
П
РИМЕР 7.3 (ТРИГОНОМЕТРИЧЕСКАЯ ИНТЕРПОЛЯЦИЯ). Рассмотрим
некоторые значения y
, заданные в точках xn,какпоказановТабли-
n
це 7.2.
Таблица 7.2.
n 0 1 2 3 4
x
n
y
n
0 π/4 π/2 π 3π/2
0 1 2 1 0.5
N
Предположим, что эти данные описываются некоторой периодической функцией. На рисунке 7.2 показаны тригонометрический полином Q
тона P
(x), определённый в (7.5), и интерполяционный полином Нью-
4
(x), построенный на основе данных из Таблицы 7.2.
4

200 Глава 7
2.5
2
1.5
Q x
(),
4
P x
()
1
4
0.5
0
-0.5
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Рис. 7.2. Гладкие кривые, описывающие данные из Таблицы 7.2: ◦ — данные;
— тригонометрический интерполяционный полином; — интерпо-
ляционный полином Ньютона.
x
Хорошо видно, что тригонометрический полином лучше представ-
ляет исходные данные, чем полином Ньютона. Более того, Q
(2π) ≈ 19.2, что демонстрирует непригодность полиномов для ин-
а P
4
(2π)=0,
4
терполяции периодических функций.
7.1.3. Сплайн-интерполяция
В предыдущих параграфах мы использовали полиномы степени N −1 для того, чтобы представить набор данных из N значений.
Однако при больших значениях N применение интерполяционных полиномов нецелесообразно. Поведение полиномов высоких степеней имеет
осциллирующий характер, что может привести к неадекватному представлению данных.
Альтернативный подход состоит в использовании кусочно-полиномиальной интерполяции. Простейшим методом этого типа является
кусочно-линейная интерполяция. Пусть значения y
различных точках x
,...,xN. Тогда эти данные могут быть представле-
0
,...,yNзаданы в
0
ны в виде непрерывной кусочно-линейной функции, которая принимает
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
