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

239287

.pdf
Скачиваний:
2
Добавлен:
15.11.2022
Размер:
547.74 Кб
Скачать

этом случае параметром, за счет которого можно повышать точность приближения, является N – число частичных отрезков.

При n =1 локальный интерполянт есть кусочно-линейная функция (ломаная) с вершинами в точках (xj ; f (xj )), при n = 2 графиками многочленов

P2[ j ]( x ;

f ) начастичныхотрезках [x j1 ; x j ]будутпараболыитакдалее.

Если

f C ( n +1 ) [a; b ], то погрешность локальной интерполяции для

x [a;b] ( x [x j 1 ; x j

]) оценивается по формуле

 

 

 

 

 

 

 

 

 

 

 

 

f (x) P [a ;b ](x : f )

 

=

 

 

 

f (x) P

[j ](x; f )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

M n

max

 

(x x j ,0 )( x x j ,1 )(x x j ,n )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(n +1)! x [x j 1 ;x j

]

 

M n

 

 

 

(b a)n+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(n +1)1

 

 

 

N n+1

 

 

 

 

 

 

 

 

 

 

 

 

 

M n

 

= max

 

 

f ( n+1) (x)

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

axb

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отсюда получаем оценку погрешности для локальной интерполянты с

равноотстоящими узлами (3.3)–(3.4)

 

 

 

 

 

 

 

 

 

 

M n

 

(b a)n+1

 

 

 

 

max

 

f (x) P[a;b ](x :

f )

 

 

 

 

,

(3.6)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n+1

 

 

 

 

 

 

 

N

 

 

 

 

 

 

 

 

(n +1)1

N

 

 

 

axb

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M n

= max

 

 

f (n+1) (x)

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

axb

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Предложение 3.1. Для

 

f C ( n +1) [a;b]

 

интерполяционный процесс,

порожденный

локальной интерполянтой

PN[a ; b ]( x;

f ) для

 

равноот-

стоящих узлов, определяемых формулами (3.3)–(3.4), равномерно сходится при N → ∞ к f ( x ) на [a; b]:

PN[a;b](x; f ) f (x) на [a;b]

N→∞

со скоростью O(1 N n+1 )приN → ∞.

Утверждение предложения 3.1 следует из оценки (3.6).

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

Теорема 3.1. Для любой функции f C[a;b] интерполяционный

процесс, порожденный локальной интерполянтой PN[a;b](x; f ) для равноотстоящих узлов, определяемых формулами (3.3)–(3.4), равномерно сходится при N → ∞ к f ( x ) на [a; b]:

31

PN[a;b](x; f ) f (x) на [a;b].

N→∞

Доказательство. Введем оператор

L[Na ;b ] : C [a ; b ]C [a ; b ], (L[Na;b] f )(x) = PN[a;b](x; f ).

По построению L[Na ; b ] – линейный ограниченный оператор в про-

странстве C[a;b].

Теперь утверждение теоремы 3.1 означает, что последовательность операторов {L[Na ; b ]}поточечно сходится при N → ∞ к единичному оператору Ε : C [a;b]C [a;b], Ε f = f и нам нужно только проверить вы-

полнение условий а) и б) теоремы 2.1 для последовательности {L[Na ; b ]}при

N →∞.

Выполнение условия б) теоремы 2.1 немедленно следует из предло-

жения 3.1, так как множество C ( n+1) [a;b] плотно в C[a;b].

L[nj ]

 

Докажем справедливость условия а). Обозначим через

оператор

интерполирования на

отрезке [x

j1

; x

j

],

 

(L[j ] f )( x) = P[j ]

(x; f ) (см.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

n

 

 

(3.4)).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Имеем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L[ j ] f

 

 

 

 

 

С [x j 1 ; x j ]

=

 

max

 

P [ j ]( x : f )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

x [x j 1 ; x j ]

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( x x j ,i

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

i

=0

 

 

 

 

 

 

 

 

 

max

 

 

f ( x )

 

max

 

 

 

i

k

 

 

.

 

(3.7)

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

x [x j 1 ; x j ]

 

 

 

 

 

x [x j 1 ; x j ]

 

k =0

 

 

( x j ,k x j ,i )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i =0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i k

 

 

 

 

 

Обозначив

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( x

x j ,i )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

i =0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

λ[nj ]( x ) =

 

 

i k

 

 

 

 

 

 

 

,

 

 

 

 

 

 

(3.8)

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k =0

 

( x j ,k x j ,i )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i =0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

перепишем (3.7) в виде

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

32

 

 

 

 

 

L[j ]

 

f

 

С[x j1 ;x j ]

 

 

max

λ[j ](x)

 

max

 

 

 

f (x)

 

.

 

 

(3.9)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

x [x j1;x j ]

 

 

 

n

 

 

 

 

 

 

x [x j1 ;x j

]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сделаем в (3.8) замену переменной, положив

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t =

 

 

x x ( j 1)

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Имеем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

( x x j ,i ) = x ( j 1 ) +

 

 

t x ( j 1 )

h =

 

 

 

 

(t i ) ,

 

 

 

n

 

n

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( x j ,k x j ,i ) = x ( j 1 ) +

 

 

 

k

h x

( j 1 )

 

i

 

 

h =

 

 

h

 

 

 

( k i ) .

 

 

 

 

 

 

 

 

n

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Подставляя

 

найденные

 

 

выражения

в

(3.7),

получим функцию

λ~n[ j ](t ) от новой переменной t:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~[ j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(t

 

i)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

]

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

i =0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(t ) =

 

 

 

 

i k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

λn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(3.10)

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k =0

 

(k

 

i)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i =0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Так как функция t

=

x

 

x

( j 1)

взаимно однозначно отображает отре-

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

зок [x j1 ; x j ]на отрезок [0; n], то

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

max

]

λ[j ]

(x) = max λ~[j ](t).

 

 

 

 

 

 

 

 

 

 

 

 

 

(3.11)

 

 

 

 

 

 

 

 

 

x [x j 1 ;x j

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

t [0;n]

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~[ j ]

Отметим, что в (3.10) вычисляется максимальное значение функции

λ n

(t ), непрерывной на отрезке [0 ; n

], не зависящей от N и j – номе-

ра отрезка [xj1; xj ]. Следовательно,

 

 

 

 

 

 

 

 

 

 

 

 

~[j]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

λ = max

 

 

[j]

 

 

 

 

 

 

 

 

 

 

 

 

(t)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

λ

(x) =maxλ

 

 

 

 

 

 

 

 

 

 

 

 

(3.12)

зависит только от n.

n

 

 

x [xj1;xj ]

 

 

 

n

 

 

 

 

 

 

 

t [0;1]

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Используя (3.12), имеем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L[j ] f

 

С[x j 1 ;x j ]

≤ λ

 

 

 

 

 

 

 

max

 

 

 

 

f (x)

 

≤ λ

max

 

f (x)

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

n

 

 

 

x [x j 1 ;x j ]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n x [a;b ]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

33

 

 

L[a;b]f

 

 

=max

 

 

 

L[j] f

 

≤λ

 

 

 

f

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N

 

C[a;b]

 

1jN

 

 

 

 

 

n

 

C[xj1;xj ]

n

 

 

 

 

 

 

 

C[a;b]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отсюда для нормы оператора

 

L[Na ; b ] получим оценку

 

 

 

 

 

 

 

 

 

L[a;bN]

 

 

 

C[a;b]

λn .

λn

 

 

 

 

(3.13)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Условие a) теоремы 2.1 доказано. Так как

не зависит от N, то

теорема 3.1 доказана.

3.2. Интерполяция сплайнами

Понятие сплайна. Построенный нами в предыдущем пункте локаль-

ный интерполянт PN[a;b](x; f ) для равноотстоящих узлов, определяемых формулами (3.3)–(3.4), обладает существенным недостатком: в точках склейки – общих точках частичных отрезков [x j1 ; x j ] он не является гладкой функцией. Возникает задача построения локального интерполянта, являющегося гладкой функцией на всем отрезке [a; b]. Эта задача решается с

помощью сплайнов.

Термин сплайн (англ. spline) имеет техническое происхождение. Первоначально сплайнами называли длинные гибкие деревянные рейки, использовавшиеся английскими кораблестроителями для вычерчивания деталей корпуса корабля в натуральную величину. Другими словами, сплайн был чертежным инструментом для построения гладких кривых.

В вычислительной математике под сплайном на отрезке [a; b] пони-

мают кусочно-полиномиальную функцию, гладкую на всем отрезке.

 

Пусть отрезок [a; b] разбит на n частичных отрезков точками

 

 

a = x 0 < x 1 < … < x n = b .

 

Набор точек

n = {x j }nj = 0 принято называть сеткой.

 

Сплайном степени k порядка m на отрезке [a; b], соответствую-

щим сетке n =

{x j }nj = 0 , называется функция φ C m [a; b], совпадаю-

щая на каждом частичном отрезке [x j1 ; x j

], j =1, 2, , n с многочленом

φ ( x ) = φ j ( x ) = a 0[ j ] + a1[

j ] x +

+ a k[ j ] x k

(3.14)

степени не выше k .

Из определения следует, что для многочленов (3.14), представляющих сплайн на каждом частичном отрезке [x j1 ; x j ], имеет место равенство

φ(ji ) ( x j ) = φ(ji+)1 ( x j ), j = 1, 2, , n 1, i = 0, 1, , m . (3.15)

34

Таким образом, сплайн – это функция, склеенная из многочленов φ j ( x ) так, что в результате получается m раз непрерывно дифференцируемая функция на отрезке [a; b] (рис. 3.1).

φj+1

φj

xj1

xj

xj+1

 

Рис. 3.1

 

Для сплайнов степени k

и порядка m на отрезке [a; b] используется

обозначение

 

 

S km (x; n

)= S km ( x) = S k , d ( x) ,

 

где число d = k m называется дефектом сплайна.

Сплайн называется интерполяционным для заданной табл. 1.1, если

где n = {x j }nj = 0

S km (x j ;

n )= f ( x j ) ,

 

(3.16)

– узлы интерполяции.

 

 

Интерполяция

посредством

сплайнов

называется

сплайн-

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

 

 

 

 

Замечание 3.2. Непрерывная кусочно-линейная функция (ломаная) является сплайном первой степени нулевого порядка (дефект равен 1).

На практике чаще всего используются сплайны третьей степени второго порядка. Такие сплайны называют кубическими. Выбор значения

гладкости m = 2 объясняется в том числе и тем, что при движении режущего инструмента в автоматизированных металлообрабатывающих комплексах по траектории, являющейся дважды непрерывно дифференцируемой кривой, не должны возникать ударные нагрузки. В случае разрывов второй производной по второму закону Ньютона они появляются и могут привести к разрушению инструмента или дефектам обрабатываемой поверхности. При этом значение степени k = 3 является минимальным для

35

обеспечения существования интерполяционного сплайна класса C 2 [a; b]

для любой табл. 1.1.

Конструирование интерполяционного кубического сплайна. На

частичном отрезке [xj1; xj ]

локальное представление (3.14) кубического

сплайна S 32 (x; n )= S 3 ( x ) имеет вид

 

 

 

φ j ( x) = a0[ j ] + a1[ j ] x + a2[ j ] x 2

+ a3[ j ] x3 ,

j = 1, 2, , n.

(3.17)

Поэтому для задания сплайна требуется определить 4n неизвестных.

При этом должны быть выполнены условия:

 

 

1)

интерполяционности ( 2n уравнений)

 

 

 

 

φ j

( x j 1 ) = f ( x j 1 ), φ j (x j

) = f (x j ),

j =1, 2, , n ;

(3.18)

2)

гладкости ( 2n 2 уравнений)

 

 

 

( x j

′′

′′

j =1, 2, , n 1 .

(3.19)

φ j

 

) = φ j +1 ( x j ),

φj (x j ) =φj +1 (x j ),

Таким образом, для определения интерполяционного кубического

сплайна

 

S3 (x) имеем систему (3.18)–(3.19), состоящую из 4n 2 уравне-

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

краевые условия:

1) S3′′( x0 ) = δ0 , S3′′( xn ) = δn .

Если δ0 =δn =0, то сплайн называют естественным сплайном. Это

условие соответствует ситуации, когда в точках (x0 ; f (x0 )) и (xn ; f (xn )) рейка (spline) закреплена шарнирно (может свободно поворачиваться во-

круг этих точек). В этом случае конец рейки,

расположенный левее

x0

(правее

xn ),

оказывается

прямолинейным,

следовательно на

нем

′′

 

′′

 

 

 

 

φ1 (x) = 0, x

x0 (φn ( x) = 0, x xn );

 

 

2)

′′

′′

′′

′′

 

 

S3 ( x0 ) = S3 ( x1 ) , S

3 ( xn1 ) = S

3 ( xn ) .

 

 

В этом случае сплайн называют сплайном с параболическими кон-

цевыми участками и вторая производная сплайна на концевых частичных отрезках [x0 ; x1 ] и [xn1 ; xn ] есть константа (как линейная функция, прини-

мающая в концевых точках отрезка равные значения). Это означает, что сплайн на концевых отрезках представляется многочленом второй степени (график такого многочлена – парабола);

3) S3( x0 ) =ν0 , S3( xn ) =νn .

Это условие задает наклоны сплайна в концевых узлах. Такой сплайн называется сплайном с жестко закрепленными концами. Это соответст-

36

вует ситуации, когда конец рейки (spline), расположенный левее x0 (правее

xn ), жестко закреплен под заданным углом к оси x.

Замечание 3.3. Система (3.18)–(3.19) с одним из краевых условий 1), 2), 3) редко используется на практике для построения интерполяционного кубического сплайна из-за большого числа неизвестных.

Оптимальный способ построения кубического сплайна. Напом-

ним, что для кубического сплайна вторая производная

S 3′′( x ) есть кусоч-

но-линейная функция на отрезке [a; b].

 

 

 

 

 

 

 

 

 

 

 

 

 

Обозначим для j-го частичного отрезка [x j1 ; x j

]

через

hj

= x j

x j1

его длину и положим α j 1

= φ j( x j 1 ) ,

α j = φ′′j ( x j

). График φ j( x )

есть прямая, проходящая через точки (x j 1 ;α j 1 ) и (x j ; α j

). Имеем

φ′′j ( x )

=

 

α j 1

 

x j x

+

α j

x x j 1

.

 

 

 

(3.21)

 

 

h j

 

 

 

 

 

 

 

 

 

Найдем теперь φ j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h j

 

 

 

 

на [x j1 ; x j ]:

( x ) как первообразную для φ j( x )

φ′j ( x )

= − α j 1

 

( x

j

x )

2

+

α j

( x x

j 1

) 2

+

β j .

(3.22)

 

 

 

 

2 h j

 

 

2 h j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

φ j

 

Аналогично получим

φ j

( x )

как

первообразную

для

( x ) на

[xj1; xj ]:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( x

j

 

x ) 3

 

 

( x x

j 1

) 3

 

 

 

 

 

 

 

 

φ j ( x ) =

α j 1

 

 

 

 

 

 

 

 

 

 

+ α j

 

 

 

 

 

+ β j

x + γ j .

(3.23)

 

 

 

6 h j

 

 

 

 

 

6 h j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Значения β j и γ j

 

 

нужно выбрать так, чтобы сплайн на концах от-

резка [x j1 ; x j ]

принимал

 

 

 

заданные

 

условием интерполяции

значения

f (xj 1 ) и f (xj ) соответственно.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Полагая в (3.23)

x = x j1 и x = x j , получим систему уравнений отно-

сительно неизвестных β j

 

 

и γ j

:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

α j 1

 

h 2

 

+ β j x j 1 + γ j

= f ( x j 1 ),

 

 

 

 

 

 

 

j

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

α

 

 

h j

 

 

 

+ β j x j

+ γ

 

= f ( x j ).

 

 

 

 

 

 

 

j

6

 

 

 

 

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Найдем решение этой системы.

37

 

 

β j

=

f ( x j ) f ( x j 1 )

 

h j

 

( α j − α j 1 ),

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

h j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

γ j =

f ( x j 1 ) x j f ( x j ) x j 1

 

 

h j

 

( α j 1 x j − α j x j 1 ).

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

h j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Подставив найденные выражения для

β j

и

γ j в (3.22)

и (3.23),

имеем:

 

 

 

 

 

( x

 

x ) 2

 

 

 

 

 

 

 

 

 

 

( x x

 

) 2

 

 

 

 

φ′j ( x ) = −α j 1

j

 

+ α j

 

 

j 1

+

 

 

 

 

2 h j

 

 

 

 

2 h j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f ( x j ) f ( x j 1 )

 

 

 

 

 

 

h j

 

 

 

 

 

 

 

 

 

 

 

 

 

(3.24)

+

 

 

 

 

 

 

( α j

− α j 1 ),

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

h j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

φ j ( x ) =

α j 1

( x

j

 

x ) 3

 

+ α j

 

( x

x

 

j 1

)

3

 

+

 

 

 

 

6 h j

 

 

 

6 h j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f ( x j

)

f ( x j 1 )

 

 

 

h j

 

 

 

 

 

 

 

 

 

 

 

 

x +

 

 

+

 

 

(α

 

j α j 1 )

 

(3.25)

 

 

 

 

h j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

f ( x j 1 ) x j

f ( x j ) x j 1

 

 

h j

( α j 1 x j

 

− α j x j 1 ).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h j

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

Если известны α j 1

= φ j( x j 1 ) и

 

α j = φj( x j ) , то полученные

формулы (3.21), (3.24) и (3.25) позволяют вычислить значение интерполя-

ционного кубического сплайна

S 3 ( x ) и его производных

S 3( x ),

S 3′′( x ) в любой точке отрезка [x j1 ;

x j

].

 

 

Теперь найдем α j = φj( x j ) ,

j = 0, 1, 2, , n .

Положим

в (3.24)

x = x j и воспользуемся условием φ j

( x j ) = φ j +1 ( x j

), j =1, 2, , n 1

(см. (3.19)), получим систему линейных уравнений:

h jα j 1

+ 2(h j

+ h j +1 )α j

+ h j +1α j +1

= g j

j =1, 2,, n 1,

(3.26)

где

 

 

 

 

 

 

 

 

 

 

 

 

 

g j

=

6

 

f ( x j + 1 )

f ( x j )

 

f ( x

j )

f ( x

j 1 )

 

 

 

 

.

(3.27)

 

 

 

 

h j

 

 

 

 

 

 

h j +1

 

 

 

 

 

 

Итак, доказана

38

Теорема 3.2. Формулы (3.25) представляют для функции f (заданной табл. 1.1) интерполяционный кубический сплайн S 32 (x; n )= S 3 ( x) на каждом частичном отрезке [x j1 ; x j ], j =1, 2, , n тогда и только тогда, когдавектор (α0 , α1 ,, αn ) являетсярешениемсистемы(3.26)–(3.27).

Система (3.26)–(3.27) содержит n 1 уравнение относительно n + 1 неизвестных α 0 , α1 , , α n . После добавления одного из краевых условий 1), 2), 3) получаем систему из n + 1 уравнения относительно n + 1

неизвестных.

 

 

 

 

 

 

 

 

 

Для краевых условий 1) система имеет вид

 

 

 

 

 

 

α0

= δ0 ,

 

 

 

 

 

 

 

 

 

h j αj 1 + 2(h j + h j +1 )αj + h j +1αj +1 = g j

j =1, 2, , n 1 ,

 

 

 

 

α n

= δ n .

 

 

 

 

 

 

 

 

 

Для краевых условий 2) система имеет вид

 

 

 

 

 

 

α 0

α1 = 0 ,

 

 

 

 

 

 

hj αj1 + 2(hj + hj+1 )αj + hj+1αj+1 = g j

j =1, 2, , n 1,

 

 

 

 

α n 1 α n

= 0 .

 

 

 

 

 

 

 

 

Для краевых условий 3) система имеет вид

 

 

 

 

 

 

2 h1

α0 + h1

α1 = 6

f ( x1 ) f ( x 0 )

6 ν 0 ,

 

 

 

 

h1

 

 

 

 

 

 

 

 

 

 

 

 

 

h jα j 1 + 2(h j + h j +1 )α j + h j +1α j +1 = g j

j =1, 2, , n 1 ,

 

 

 

 

h n α n 1 + 2 h n α n = 6ν 0 6

f ( x n ) f ( x n 1 )

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h n

 

 

 

 

В последней системе в краевых условиях 3) производные сплайна в

концевых

точках

вычислены по формуле (3.24) (φ(x

0

) =ν

0

и

 

 

 

 

 

1

 

 

 

φn( x n ) = ν n ).

Во всех случаях матрицы полученных систем уравнений для определения α 0 ,α 1 ,,α n оказываются трехдиагональными.

Замечание 3.4. Системы линейных уравнений с трехдиагональными матрицами эффективно решаются методом прогонки (специальная модификация метода Гаусса для решения систем линейных уравнений). Если

39

3.1.

трехдиагональная матрица имеет преобладающую главную диагональ, то ее определитель отличен от нуля.

Из замечания 3.4 немедленно следует

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

S32 (x;

n )= S3 ( x)

(удовлетворяющий

условиям

(3.18)–(3.19) и

S

′′

′′

= 0 ) существует и единственен.

 

3 ( x0 ) = 0 , S3 ( xn )

 

 

Сформулируем

без доказательства

предложение,

устанавливающее

характер сходимости интерполяционного кубического естественного сплайна. Имеет место

Предложение 3.2. Если

 

f C(4) [a;b] и

n

= {x j }nj = 0 – равномерная

сетка с шагом h =

b a

,

x j

= a + jh,

j = 0,

1,

,

n, то для интерполя-

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n )= S 3 ( x ) справедли-

ционного кубического естественного сплайна S 32 (x;

 

выоценки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

max

 

 

 

 

 

 

f (x) S3 (x)

 

 

 

 

c0h4 M 4 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

x [x j1 ;x j ]

 

f (x) S3(x)

 

 

 

c1h3M 4 ,

 

 

 

max

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x [x j1 ;x j

]

 

 

f

′′

′′

 

c2h

 

M 4 ,

 

 

 

max

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

(x) S3 (x)

 

 

 

 

x [x j 1 ;x j ]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где M 4 = max

 

f ( 4 ) ( x )

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a x b

 

 

f C ( 4) [a;b] интерполяционный кубический ес-

Таким образом, для

тественный сплайн и его производные до второго порядка включительно на отрезке [a; b] при n → ∞ ( h 0) равномерно сходятся к интерполируе-

мой функции f и ее производным соответственно.

Важное замечание Пусть для табл. 1.1 с узлами a = x0 < x1 < … < xn = b построен интерполяционный кубический естественный сплайн S3 (x). Введем множество функций Κ( 2) [a; b]: φ Κ( 2) [a; b], если φ( x) – функция, непрерывная вместе с производной на

[a;b], имеющая кусочно-непрерывную вторую производную на [a;b] и удовлетворяющая условиям

φ(xj ) = f (xj ) , j = 0, 1, , n; b [φ′′(t)] 2 dt < ∞.

a

40

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