Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы научных вычислений. Введение в численные методы для физиков и инженеров

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
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
ны в виде непрерывной кусочно-линейной функции, которая принимает
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]