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

Численные методы. В 2 частях. Ч.1. Учебное пособие

.pdf
Скачиваний:
5
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
Правило. Для кубического интерполяционного сплайна имеет ме-
f
f
x
x
x
x
сто следующая оценка абсолютной погрешности приближения: если
1
k
() [, ]
xC ab
xxx x
,
03k
max ( ) ( ) max ( )
,a,b


1
kk
, то
() () 1 ( 1)
mm km k
xS x Ch f x



. (19)
Замечание. Кубический интерполяционный сплайн точно при­ближает полиномы до третьего порядка включительно, удовлетворяю­щие условию нулевой кривизны на концах отрезка
(2) (2)
() () 0fafb
ЗНАЧЕНИЕ СПЛАЙНА В ПРОИЗВОЛЬНОЙ ТОЧКЕ
.
[, ]ab, т. е. такие, что
Пусть задана точка
онный сплайн на разбиении ходимо найти сегмент

и построен кубический интерполяци-
,xab

ω ...
x
1,kk
ax x b
01
1,kn
, такой, что
. Сначала необ-
n
xx

1,kk
k – номер сегмента. Вычислим значение интерполянта и его двух произ­водных:
 
() ()()()
Sx a bxx cxx dxx
     
kk k k k k k
 

() 2 ( ) 3 ( )
Sx b c x x d x x
Замечание. Если
11 1
 
kk k k k


() 2 6 ( )
Sx c dx x

– внутренняя узловая точка, то можно вы-
11

kk k
23
2
.
1
,
,
брать любой из сегментов, содержащий эту узловую точку.
Пример. Пусть (0) 0f  , (1) 1f  , (2) 2f  , (3) 3f  , необходимо
построить кубический интерполяционный сплайн, вычислить его значе-
0,5x
ние и двух первых производных в точке
Заданы три сегмента
[0,1] , [1, 2 ] и [2, 3] одинаковой длины
.
1h
Если воспользоваться выведенными формулами для СЛАУ (16), то
ββ 4, 1γ 1 ,
12
1,
2
12
0  .
,
.
11
Решим СЛАУ с матрицей 2 × 2
с

2

с
3

 
0

,
откуда
23
0сс.
41 0

14

По формулам (5), (9) и (11)–(14) окончательно получаем
Точка
,
0,1,2a
0,5x
принадлежит сегменту
 
() ()()()Sx a bxx cxx dxx     
11 0 1 0 1 0
 
() 2 ( ) 3 ( )Sx b cx x d x x
  
11 0 1 0


() 2 6 ( )Sx c dx x
,
1,1, 1b
0,0,0c 

11 0
,
, значит,
0,1
23
,
откуда
(0,5) 0 1(0,5 0) 0(0,5 0) 0(0,5 0) 0,5S       
(0,5) 1 2 0(0,5 0) 3 0(0,5 0) 1S
  

(0,5) 2 0 6 0(0,5 0) 0S
  .
23
.
0,0,0d
,
2
,
,
2
,
АППРОКСИМАЦИЯ ПО МНК
Существуют два подхода в сплайн-теории: алгебраический и вариа­ционный. В алгебраическом подходе сплайн понимается как гладкая ку­сочно-полиномиальная функция (например, кубический интерполяци­онный сплайн). В вариационном подходе сплайны – это элементы гиль­бертовых (или банаховых) пространств, минимизирующие определён­ные функционалы.
Функционал – функция, заданная на произвольном множестве и имеющая числовую область
значений.
12
Пример. Рассмотрим
f
g
f
x
на отрезке
() 0,1ggdxgC 
0,1
1
0
. Определим функционал
.

– множество непрерывных функций
0,1C
: 0, 1CR

такой, что
Пример. Норма – функционал, область значений которого – множе-
ство неотрицательных чисел. Пространство, полное в метрике, порож­дённой нормой, называют банаховым.
Задача об аппроксимации функции зом: найти такую
()gxB , что
()fx ставится следующим обра-
() argmin () () ()
gx f x Gx Gx B

()
Gx B
2
. (20)
Замечание. Формулу (20) трактуют как задачу минимизации
() ()
функционала задачи – функция
xGx
()gx , которая среди всех ()Gx B есть наилучшая
аппроксимация функции
2
в банаховом пространстве B. Решение
()fx .
Для решения задачи (20) необходимо ввести правило, по которому можно определить норму. Естественным шагом является рассмотрение гильбертовых пространств. Гильбертово пространство – банахово про­странство, норма которого порождена положительно определённым
(, )
скалярным произведением, т. е.
Рассмотрим в гильбертовом пространстве
gg
.
дискретное ска-
,Hab
лярное произведение
,: ω ()()
где
ω
– весовые множители.
i
gfxgx
ii i
i
i
, (21)
,
ab
Замечание. Дискретное скалярное произведение (21) определяет полунорму
сиомы нормы:
2 2
, так как не гарантирует выполнения первой ак-
,fff
0f
и
0 θff 
, θ – нулевой элемент.
13
Пример. Пусть на отрезке
f
f
x
f
j
в точках
()() 0fx fx при любых ω
11
1x  и
0
1
1x  . Получаем, что
.
i
задана функция
1, 1
2 2
,()()ffffxfx
Пусть Ω – конечномерное линейное подпространство в
() 1
xx
00
,Hab
2
и в подпространстве Ω для функции
наименьших квадратов (МНК): найти такую
мент
является нормой в Ω. Наилучшую аппроксимацию по норме
2
()fx можно построить по методу
()gx, что
() argmin () () ()
gx f x Gx Gx

Gx

()
В подпространстве Ω существует базис
2 2
ψi
. (22)
. Тогда любой эле-
()Gx можно разложить по этому базису:
N
()
Gx
k
1
kk
,
где N – размерность подпространства. Задача (22) сводится к поиску ми­нимума функционала
N
Пусть
  
ax x b    
01
() ()
xx
kk
1
k
...
– сеточное разбиение, в опорных
n
точках которого заданы значения функции
2
. (23)
2
()
x
i
. Воспользу-
0,in
емся формулой (21) и перепишем (23) в виде
nn
Если
ψi
  
– заданный базис, то необходимо найти такие
при которых функционал

() ()
fx x


ii jji

00

ij

достигает своего минимума.
14
2
. (24)
,
Замечание. Функция  является квадратичной и имеет един-
x
x
x
ственную точку минимума. Это возможно только в том случае, если
является нормой в подпространстве Ω.
2
Условия экстремума функции
nn
   
k

2() ()

ij
fx x

ii jji

00


принимают вид
() 0
x
ki
, (25)
0,kn
откуда получаем систему линейных алгебраических уравнений относи­тельно
k
nn n

ij i
00 0

:
0,kn

    

i jji ki i i ki
 
() () () ()
xfxx

. (26)
Замечание. Для аппроксимации по МНК
Функция
()gx – наилучшая по норме
ω 1i
аппроксимация тогда
2
0,in
и только тогда, когда
, ψ 0fg
ψ. (27)
Замечание. Формулы (26) и (27) эквивалентны.
Выберем в качестве базисных функций сплайны, носителями которых являются сегменты
ψ ()kx  базисные
x
1,kk
На рис. 1 показан пример локальных базисных функций. На каждом сегменте

заданы две финитные линейные функции (вне сег-
x
1,kk
мента тождественно равны 0).
Рис. 1. Локальные сплайны (первый порядок)
15
.
.
1,kn
Замечание. Локальные базисные функции могут быть любого
x
g
g
x
g
x
x
x
x
x
x
x
порядка. Использование первого порядка далее требуется только для упрощения изложения материала.
На каждом сегменте
2( )
xx
k

где
h
k
1

k

1
1
,
hxx
 .
Введём понятие «сшивки» базисных функций. На сегменте
() () ()
имеем
 
xxx  
2
()
22
. Поведение функции ()
кой» базисных функций
11
01 12
1
1
:
x
1,kk
1

и
2
1kkk
, а на сегменте
x в узле
с
2
()
2
()
k

2
и
1

,
2
() ()
,xx
12
определяется «сшив-
1
1
()
2
с
2
()
1
,xx
01
xx
2
11
. Реализуется
«сшивка» как общий вклад в элемент матрицы СЛАУ, который отвечает переменной
 . Аналогично производится «сшивка» во всех внутрен-
1
них узлах разбиения.
Пример. Рассмотрим процедуру сборки СЛАУ (26). На сегменте
01
определены
,xx
1
()
1
и
1
()
, запишем два уравнения
2
n

0
i
n
0
i
где из всей суммы по
 
 
111
() () ()

ii ii

ii ii
xxx
01 12 1
n
() (),
 

ii i
i
0
111
() () () =
xxx
01 12 2
n
 
0,in
fx x

ii i
i
0
останутся только
1
fx x
1
1
() (),
2
и
0i
в силу фи-
1i
нитности локальных базисных функций. Тогда СЛАУ будет иметь вид
16

f
f
x
x
        
 
11 11
ω () () ω () ()
xx x x
 

11 12
ii i ii i
ii
11 11
 
ω () () ω () ()

ii
xx x x
21 2 2
ii i ii i
00
... ...
00
0
...
0

0

1
 
2
...
1
n
n
  
 

На сегменте

ω () ()
ii i

i

ω () ()

ii i
i

    
 
определены
,xx
12
n
 
0
i
n
 

0
i
222
() () () =

ii ii

ii ii
xxx
11 2 2 1
n
 

ii i
i
0
222
() () () =
xxx
11 2 2 2
n
 

ii i
i
0
1
xx
1
1
xx
2
0
...
0
0
2
()
и
1
2
() (),
fx x
1
2
() (),
fx x
2
.
2
()
, запишем уравнения
2
где из всей суммы по
останутся только
0,in
и
1i
в силу фи-
2i
нитности локальных базисных функций. СЛАУ будет иметь вид
17

x
x
g
           

11 11
ω () () ω ( ) ( ) 0 ... 0
xx x x
 

11 1 2
ii i ii i
ii
11
ω () ()
xx

22
ii i
11 22
ω () () ω ( ) ( ) ... 0
xx x x
 

21 1 2
ii i ii i
ii
0
i
22
ω () ()
xx

11
ii i
i
ω () () ω ( ) ( ) ... 0
22 22
xx xx
 

21 2 2
ii i ii i
ii
0 ...................... 0

ω () ()
ii i

i
 
 

  
 



0

ω () ()
ii i

1
2
...
1
n
niii
i
  
ω () ()
ii i

i
 
ω () ()

i

....

1
fx x
1
1
fx x
2
2
fx x
1
fx x
2 2
.
В конце сборки будет получена СЛАУ с трёхдиагональной матри­цей, решить которую можно методом прогонки.
Замечание. Пусть задана точка
()gx
сплайна в этой точке ходимо найти сегмент
номер сегмента. Тогда
строится следующим образом. Сначала необ-
x

1,kk

() () ()
xxx
   
kk
11 2
, такой, что
1,kn
kk
, алгоритм вычисления
,xab

xx
.
1,kk
Пример. Решить задачу о наилучшей аппроксимации функции на
подпространстве, если
(1) 1, ( 2) 2, (3) 1ff f.
, k –
18
Решение. Определим множество
g
x
x
x
g
f
x
найти такую функцию ()gx, что
[1, 2 ] [ 2, 3]


12
. Необходимо
() () min
fx gx

Сетка состоит из трёх точек, значит,
2
.
gx

()
3
() ()
xx

ii
i
1
, где
i
базис в Ω. Ограничимся полиномами первой степени и определим
()
функции

через локальные сплайны
i
2( )
xx
k
h
k
1
;
h – длина сегмента;
k

1
– начальная точка сегмента.
k

k
,

2
1

k
1
2
1
На рис. 2 показан вид базисных функций.
Рис. 2. Кусочно-линейные сегменты
Функция () гда и только тогда, когда
x – наилучшая аппроксимация функции ()fx в Ω то-
(, )0
fg. Выберем скалярное произве-
i
дение
n
( , ) , () () ()
gfg fxgxx


i
iii
0
, ψ.
()
, где
–
На отрезке [1, 2]:
23
сегмента,
как
  ,
()gx

  
12
12
11
1h  – длина сегмента,
1
2, [1,2],
xx

1

1
0, [1, 2],
x

, то получаем два уравнения
19
1x  – начальная точка
1
1, [1, 2 ]
xx

1
2
0, [1, 2]
x
. Так

x
x
111 1
 

12
121 1

111 1
 

12
122 2
, , f
, , f
,
.
После раскрытия скобок
111
 
11 11 1
    
12
iii
    
12
iii
() () () () () ()

000

111

000

ii ii ii
11 21 1
 
11 11 1
() () () () () ()
ii ii ii
12 22 2
xxxfxx
xxxfxx
,
.
Или в матрично-векторной форме
11 1

 
11 11 1
() () () () 0 () ()
xx xx fxx
  


ii i
00 0


11 1
 

ii i
00 0

  
 
ii ii i i
11 21 1

1
 
11 11 1
  
() () () () 0 () ().
xx xx fxx
ii ii i i
12 22 2
0000

2
 
3

Приведём результаты расчётов для первого диагонального элемента матрицы и первой компоненты вектора правой части СЛАУ:
1
  
11 11 11
() () (1) (1) (2) (2)1
    
A

11
i
1

f

1
i
xx
ii
11 11 11
0

() () () () ( ) ( )1
fx x fx x fx x
0
111
ii
111
1122
,
;
имеем СЛАУ после сборки на первом сегменте
 
010 2
 
000

 

 

20
1100

1
 
0
.
2
3
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]