Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вычислительная математика.pdf
Скачиваний:
3
Добавлен:
24.11.2025
Размер:
3.89 Mб
Скачать

чений функции sin x . Оценить погрешность интерполирования.

Решение. Разности первого порядка примерно постоянны, поэтому для приближенного вычисления sin1,175 применим линейную интерполяцию. Т.к. x =1,175, то выбираем узлы x0 =1,17, x1 =1,18 .

 

 

 

 

х

 

 

sin x

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,16

 

 

0,9168

 

0,0040

 

 

 

 

 

1,17

 

 

0,9208

 

 

 

 

 

 

 

 

 

0,0038

 

 

 

 

 

1,18

 

 

0,9246

 

 

 

 

 

 

 

 

 

0,0038

 

 

 

 

 

1,19

 

 

0,9284

 

 

 

 

 

 

 

 

 

 

 

По формуле (12)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N(x) = 0,9208 +

0,0038

 

(x 1,17) , откуда

 

 

 

 

 

 

 

0,01

 

 

 

 

 

 

 

 

sin1,175 N(1,175) = 0,9208 +

0,0038

(1,175 1,17) 0,9227 .

0,01

 

 

 

 

 

 

 

 

 

(Точное значение sin1,175 = 0,92269 ).

 

 

 

Оценим погрешность

интерполяции. По

условию x0 =1,17 , x1 =1,18 , x =1,175,

y = sin x y′′ = −sin x y′′ ≤1 и поэтому можно положить M 2 =1 и, тогда из формулы (13) получим

sin1,175 0,9227 0,5(1,175 1,17)(1,175 1,18) = 0,5 25 106 <13 106 < 50 106 = = 0,5 104

Итак, sin1,175 0,9227 , причем все цифры числа 0,9227 верные.

4.6 Многочлены Чебышева на отрезке [-1, 1]. Интерполирование сплайнами

Ранее рассматривалось интерполирование по равноотстоящим значениям аргумента. Существуют такие таблицы узлов, что соответствующие им интерполяционные про-

цессы сходятся равномерно на отрезке [а, b] к f(x) для всякой функции f(x), абсолютно непрерывной на [а, b].

Таким свойством обладает, например, таблица, у которой узлами интерполирования являются корни многочлена Чебышева первого рода степени п. Для отрезка [-1, 1] многочлен Чебышева есть Tn (x) = cos(narccos x) и корни его имеют значения

 

π(2m +1)

,

m = 0,1, , n 1.

xm = cos

2n

 

 

 

 

 

Многочлены Чебышева обладают всеми свойствами как рядов Фурье, так и ортого-

146

нальных многочленов, они и являются, в сущности, функциями Фурье cos nϕ, замаскированными простым преобразованием переменной ϕ = arccos x .

Обозначение Tn (x) происходит от французского написания фамилии Чебышева

(Tschebycheff).

Покажем, что Tn (x) – многочлен. По формуле Муавра cos nϕ+isin nϕ = (cosϕ+isin ϕ)n .

 

Разлагая бином, взяв действительные части с обеих сторон и заменив четные степени

sin nϕ из (sin2 ϕ)k = (1cos2 ϕ)k ,

получим, что cos nϕ есть многочлен степени п от cos ϕ. Но

cos(arccos x) = x , отсюда Tn (x) = cos(narccos x) есть многочлен степени п от х.

 

Многие свойства многочленов Чебышева следуют из соответствующих тождеств для

тригонометрических функций. Например, тождество

 

 

 

 

cos(n +1)ϕ+cos(n 1)ϕ = 2cosϕcos nϕ

 

 

 

становится равенством

 

 

 

 

 

 

 

 

 

Tn+1(x) +Tn1(x) = 2xTn (x)

(n 1),

 

 

(1)

которое является трехчленом рекуррентным соотношением.

 

 

Многочлены Чебышева Tn (x) , где п 0, определяются соотношениями T0 (x) =1,

T1(x) = x .

 

 

 

 

 

 

 

 

 

 

Пользуясь рекуррентной формулой (1), получаем, например, T (x) = 2x2 1,

 

 

 

 

 

 

 

 

 

 

2

 

T (x) = 4x3 3x ,

T (x) = 8x4 8x2 +1, T (x) =16x5

 

20x3 +5x ,

 

3

 

4

 

5

 

 

 

 

 

 

Старший член Tn+1(x)

получается из старшего члена Tn (x) умножением на 2х и, сле-

довательно, старший член T (x)

при п > 0 есть 2n1 xn .

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

Все многочлены T2n (x) являются четными функциями, а T2n+1(x) – нечетными.

 

Критерий Чебышева

 

 

 

 

 

 

 

 

Чебышев показал, что из всех многочленов Pn (x)

 

степени п со старшим коэффициен-

том 1

у многочлена

Tn (x)

точная верхняя грань абсолютных

значений на интервале

 

 

 

2n1

 

 

 

 

 

 

 

1 x 1 наименьшая. Поскольку верхняя грань

 

Tn (x)

 

равна 1,

указанная верхняя грань

 

 

равна

1

.

 

 

 

 

 

 

 

 

2n1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Это свойство представляет большой интерес в численном анализе. Если какая-либо

147

ошибка может быть выражена многочленом Чебышева степени п, то любое другое выражение для ошибки в виде многочлена степени п, имеющего тот же самый старший коэффициент, будет иметь на интервале 1 x 1 большую максимальную ошибку, чем чебышевское. В соответствие с этим, «чебышевским приближением» называют такое, при котором стремятся свести к минимуму максимум ошибки. Иногда это называют «принципом минимакса». Приближение в смысле наименьших квадратов уменьшает среднюю квадратичную ошибку, но при этом допускает отдельные большие ошибки; чебышевское – уменьшает экстремальную ошибку, допуская большое среднеквадратичное отклонение.

Многочлены Чебышева для произвольного отрезка [a, b] получаются из Tn (x) при помощи линейного преобразования x′ = 12 (b + a) + 12 (b a)x , переводящего [-1, 1] в [a, b].

Интерполирование сплайнами

Узлы, близкие к корням многочленов Чебышева, не всегда удобно, а иногда и невозможно применять в практике интерполирования.

Возрастание степени интерполяционного многочлена далеко не всегда приводит к улучшению приближенного представления функции на всем отрезке [a, b]. Часто бывает выгодно разбивать отрезок [a, b] на части и приближать y = f (x) на частях отрезка интерполяционными многочленами невысоких степеней.

Пусть функция f (x) определена на отрезке [a, b] и известны ее значения в системе узлов a = x0 < x1 < < xn = b . Назовем функцию Sm (x) , являющуюся многочленом степени

т на каждом из отрезков [xn1, xn ], интерполяционным сплайном порядка т для функции f (x) , если выполнены следующие условия:

1)

Sm (xk ) = f (xk ), k =

0,1, ,n .

2)

на всем отрезке [a, b]

Sm (x) имеет непрерывные производные до порядка т–1:

S (k) [x 1, x ]= S (k) [x , x 1], k =1,2, ,m 1,

m nn m n n+

т.е. в узлах интерполирования должны совпадать как сами Sm (x) , слева и справа, так и их производные до порядка т–1. Если т 2, то для единственности Sm (x) следует задать дополнительно еще т–1 условий, которые обычно задаются на концах отрезка [a, b], либо произвольно, либо из дополнительной информации о поведении f (x) . Например, так называемый естественный кубический сплайн удовлетворяет дополнительным условиям

S3′′(x0 ) = S3′′(xn ) = 0.

Описанное сейчас интерполирование может быть названо сглаженным кусочным ин-

148

терполированием, но его часто называют сплайн-интерполированием, используя английский термин. Сплайном называется гибкая деревянная рейка, позволяющая плавно соединять дуги разных кривых и по своей роли аналогичная лекалу.

При

m =1 получаем метод ломаных. S1(x)

равномерно сходится к непрерывной на

[a, b] функции f (x) , если max

 

x x

 

0 при n → ∞ .

 

 

 

0in

 

i

i1

 

 

 

 

 

 

 

 

При

m = 2 функция f (x)

аппроксимируется кусочно-квадратичными полиномами.

Для простоты проиллюстрируем построение S2 (x)

в случае n = 3.

S

1

(x) = a x2

+b x +c

 

 

 

 

 

 

 

 

 

 

 

 

 

2

1

 

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

S

2

(x) = a

2

x2 +b x +c

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

2

2

 

 

 

 

 

 

 

 

 

 

 

 

Определим

f (x) = S2i (x),

i =1, 2 . Чтобы функция

f (x) была непрерывна и принима-

ла в узлах заданные значения yi , i =1, 2, 3 , необходимо потребовать выполнение условий

S

1

(x ) = y , S1

(x

2

) = y

2

, S 2 (x

2

) = y

2

, S 2

(x ) = y

3

.

(2)

 

2

1

1

2

 

 

 

2

 

2

3

 

 

 

Если мы, кроме того, хотим, чтобы функция

f (x)

была дифференцируема в узлах, то

(S21 (x2 ))

должна равняться (S22 (x))в x 2 , т.е.

 

 

 

 

 

(S21(x2 ))= (S22 (x2 ))

 

 

 

 

 

 

 

 

 

 

 

(3)

Функция

 

f (x)

определяется шестью коэффициентами полиномов S21 (x) и S22 (x) .

Равенства (2), (3) дают только пять соотношений для этих шести коэффициентов, так что для однозначного определения f (x) требуется дополнительное условие. Обычно указывается

значение f (x) в некотором узле, например (S21 (x1))= d1 , где d1 – некоторое заданное значение. Шесть соотношений (1), (2), (3) представляют собой просто систему шести линейных уравнений относительно коэффициентов полиномов S2i (x), i =1, 2 , которая может быть решена методом гауссова исключения.

Этот подход легко распространяется на произвольное число узлов.

При аппроксимации решений дифференциальных уравнений оказывается желательным, чтобы аппроксимирующие функции были, по крайней мере, дважды непрерывно дифференцируемыми. Этого нельзя добиться с помощью кусочно-квадратичных полиномов, за

149

исключением случая, когда данные таковы, что их можно аппроксимировать одним квадратичным полиномом на всем интервале. Таким образом, приходим к рассмотрению кусочно-

кубического полинома S3 (x) ,

обладающего следующими свойствами: S3 (x) – дважды не-

прерывно дифференцируемая функция;

на каждом отрезке [xi , xi+1], i =1, ,n 1

функция

S3 (x) является кубическим полиномом.

Такая функция называется кубическим сплайном.

На каждом отрезке [x , x

 

] функция Si (x) представляется в виде

 

 

 

 

 

i

i+1

 

 

 

3

 

 

 

 

S i

(x

) = a

x3 +b x2

+c x + d

,

i =1, 2, ,n 1.

 

 

(4)

3

i

i

 

 

i

 

i

i

 

 

 

 

 

 

Требование дважды непрерывной дифференцируемости S3 (x) влечет за собой непре-

рывность функции S

3

(x)

и S

(x)

 

на всем отрезке [x , x

n

]. Следовательно, должны выпол-

 

 

 

 

 

 

3

 

 

1

 

 

няться 3n 6 условий

 

 

 

 

 

 

 

 

 

 

S3i1(xi ) = S3i (xi ), (S3i1(xi ))= (S3i (xi )), (S3i1(xi ))= (S3i (xi ))

(5)

Так как для построения функции S3 (x) надо определить 4n 4 коэффициента в (4),

то нам нужно еще n + 2

дополнительных условия. В случае задачи интерполяции или ап-

проксимации потребуем, чтобы функция S3 (x) принимала в узлах заданные значения

Si

(x ) = y , i =1, 2, , n ,

 

 

 

 

 

 

(6)

3

i

i

 

 

 

 

 

 

 

 

 

 

 

 

что дает n дополнительных соотношений. Нам нужно еще два условия, их можно выбрать из самых разных соображений. Для естественного кубического сплайна

(S

3

(x

))= (S

3

(x

n

))= 0 .

(7)

 

1

 

 

 

 

Сплайн S3 (x)

можно было бы построить, решив линейную систему уравнений (5)-(7)

относительно неизвестных коэффициентов в (4). Существует, однако, другой подход, приводящий к простой трехдиагональной системе уравнений, в которой неизвестными являются значения вторых производных S3 (x) в узлах сетки. Саму функцию S3 (x) мы можем затем определить с помощью интегрирования. Чтобы прийти к этой трехдиагональной системе, нужно выполнить целый ряд преобразований, которые мы вынуждены опустить и привести готовые результаты.

Для удобства в дальнейшем будем пользоваться обозначениями:

yi = S3i (xi ) = S3i1(xi ), yi= (S3i (xi ))= (S3i1(xi ))

 

yi= (S3i (xi ))= (S3i1(xi )),

 

(7)

в которых учтены условия (5) и (6).

 

 

Для нахождения y получается система

n 2 линейных уравнений с

n 2 неизвест-

i

 

 

150

ными y2′′, , yn′′1 , кроме того y1′′ = yn′′ = 0

из (7):

 

 

 

 

 

 

 

yi+1 yi

 

yi yi1

 

 

 

yi′′1hi1

+ 2yi′′(hi + hi1)

+ yi′′+1hi = 6

 

 

 

, i = 2, 3, , n 1.

(8)

h

h

 

 

 

i

 

i1

 

 

 

Матрица этой системы является трехдиагональной, диагонально доминирующей, симметричной и положительно определенной. Следовательно, она легко решается методом

гауссова исключения.

 

 

 

 

 

 

 

 

 

После того, как значения yi′′

найдены, и так как нам известны величины

yi , значения

первых производных в узлах сетки можно определить по формуле

 

 

yi+1 yi

 

hi

 

hi

 

 

 

 

 

 

yi′ =

 

 

yi′′+1

6

yi′′ 3

,

i =1, 2, ,n 1.

 

(9)

h

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

Выражения для самих S3i (x)

 

можно затем получить из формулы

 

S3i (x) = yi

 

 

 

 

(x x )2

 

(x x )3

 

+ yi(x xi )

+ yi′′

 

 

i

+ (yi′′+1 yi′′)

i

,

(10)

 

2

6hi

 

 

 

 

 

 

 

 

 

 

i =1,2, ,n 1.

 

 

 

 

 

 

 

 

 

Если требуется вычислить S3 (x)

при некотором конкретном значении x , то сначала

необходимо определить отрезок [xi , xi+1], в котором лежит точка x , и затем воспользоваться выражением для соответствующего полинома S3i (x) .

Примеры. Пусть заданы следующие узлы и соответствующие значения функции

xi

x1 = 0

x2 = 1/ 4

x3 = 1/ 2

yi

y1 =1

y2 = 2

y3 =1

Построить интерполяционные сплайны: 1) первого, 2) второго, 3) третьего порядка; вычислить значение f (x) при x = 0,35.

Решение.

1)S11(x) = a1x +b1 S12 (x) = a2 x +b2

Должны выполняться соотношения

S1

(0)

=1,

S1

 

1

 

= 2,

S 2

 

1

 

= 2,

S 2

 

1

 

=1,

откуда

 

4

 

 

4

 

 

2

 

1

 

 

1

 

 

 

1

 

 

 

1

 

 

 

 

151

b

=1

 

 

 

 

 

 

1

 

 

 

 

b1 =1

 

 

1 a

 

+1 = 2

 

 

4

1

 

 

 

 

= 4

 

 

1 a

 

 

 

a1

 

 

2

+b

= 2

a

2

+ 4b

= 8

 

4

 

2

 

 

2

 

 

 

 

 

a

2

+ 2b

= 2

 

1 a

 

+b

=1

 

2

2

 

 

 

 

 

2

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b1a1b2a4

=1

=4

=3

=4

S1(x) = 4x +1,

S

2(x) = −4x +3,

 

 

S 2(0,35) =1,6.

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S11(x) = a1x2 +b1x +c1

 

 

(S11(x))= 2a1x +b1

 

 

 

 

 

 

 

 

 

 

S12 (x) = a2 x2 +b2 x +c2

 

 

(S12 (x))= 2a2 x +b2

 

 

 

 

 

 

 

 

 

 

Должны выполняться соотношения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S11(0)

=1, S11

 

1

2, S12

1

S12

1

 

 

= (S12

 

 

,

 

 

 

 

=

 

= 2,

 

2

=1,

(S11(x))

 

1

(x))

1

 

 

 

 

 

 

 

 

 

 

 

4

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Дополнительно положим (S11(x))

 

0

= 0. Отсюда

 

4

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c1 =1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

+

1

+1 =

2

 

 

c1 =1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

b

 

 

 

 

 

 

 

 

 

 

 

+ 4b1 =16

 

 

 

 

 

 

 

a1 =16, b1 = 0,c1 =1

2

 

+

 

 

 

 

 

= 2

 

a1

 

 

 

 

 

 

 

 

 

 

2 +c

2

 

a

 

+ 4b +16c

 

= 32

a

 

+

2b

 

=16

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

2

2

2

 

 

 

16

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

a2

+ b2

+c

 

=1

 

a2 + 2b2 + 4c2 = 4

a2 + 4b2 +16c2 = 32

 

4

 

 

2

 

a

 

2

 

 

 

a

 

+ 2b = a

2

+

2b

a

2

+

2b

 

+ 4c

2

= 4

a

 

 

 

 

 

2

 

 

 

 

1

1

 

 

 

 

 

2

 

 

 

2

 

 

 

 

 

1

 

+b =

 

 

+b

 

 

 

 

= 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

1

 

2

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b1 = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

По методу Гаусса

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 2 0

 

 

 

 

16

 

 

1 2

0

 

 

16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c2

= −3, b2 = 32, a2 = −48

1

 

 

4

16

 

 

 

 

32

~

0

2

16

 

 

16

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

0 0

4

 

 

12

 

 

 

 

 

 

 

 

 

 

 

 

 

1 2 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S12(x) =16x2 +1,

S22(x) = −48x2 +32x 3,

S22(0,35) = 2,32.

 

 

 

3) В формуле (8) для данного примера n = 3 i = 2, h

= 1 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

152

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]