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

Учебное пособие_Численные методы -26 -дек_2014 (97-2003)

.pdf
Скачиваний:
270
Добавлен:
11.03.2016
Размер:
6.51 Mб
Скачать

Пример 4.4

Используя квадратичную интерполяцию, вычислить значения функции у=f(х) при следующих значениях аргумента: х1=1,5306; х2=1,5282. Предварительно убедиться в применимости формулы (табл. 4.6).

 

 

 

Таблица 4.6

Решение. Выберем из таблицы

 

Реализация квадратичной

несколько

значений и

составим

 

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

таблицу разностей первого, второго

 

 

 

 

 

 

х

у

и третьего порядков (табл. 4.7).

 

1,524

 

21,354

 

 

 

 

 

 

 

1,525

 

21,821

 

 

 

 

 

 

 

1,526

 

22,308

 

 

 

 

 

 

 

1,527

 

22,818

 

 

 

 

 

 

 

1,528

 

23,352

 

 

 

 

 

 

 

1,529

 

23,911

 

 

 

 

 

 

 

1,530

 

24,498

 

 

 

 

 

 

 

1,531

 

25,115

 

 

 

 

 

 

 

1,532

 

25,763

 

 

 

 

 

 

 

1,533

 

26,445

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 4.7

 

Таблица разностей первого, второго и третьего порядков

 

 

 

 

 

 

 

 

 

 

 

 

х

 

у

 

y i

 

yi

 

yi

 

 

 

 

 

 

 

2

 

3

 

 

 

 

 

 

 

 

 

 

 

1,527

 

22,818

 

0,534

 

0,025

 

0,003

 

 

 

 

 

 

 

 

 

 

 

1,528

 

23,352

 

0,559

 

0,028

 

0,002

 

1,529

 

23,911

 

0,587

 

0,030

 

0,001

 

1,530

 

24,498

 

0,617

 

0,031

 

-

 

1,531

 

25,115

 

0,648

 

-

 

-

 

1,532

 

25,763

 

-

 

-

 

-

На возможность квадратичной интерполяции указывает тот факт, что разности второго порядка практически постоянны.

При вычислении пользуемся формулой

f (x)

f (x

0

) q f (x

0

)

 

 

 

q(q 1)

2

2

 

 

f

(x

0

)

 

 

,

где

q

(x

x

0

) /

 

 

h

;х0

ближайшее

значение в таблице, меньше чем х.

Если х=1,5306, то х0=1,530; q=(1,5306-1,530)/0,001=0,6;

f (1,5306) 24,498 0,6 0,617

0,6( 0,4)

0,031

24,498 0,3702 0,0037

 

2

 

 

 

 

24,8645

.

Принимаем f

Если х=1,5282,

(1,5306) 24,864.

то х0=1,528; q=(1,5282-1,528)/0,001=0,2;

f (1,5306) 23,352 0,2 0,559 0,2( 0,8) 0,028 23,352 0,1118 0,0022 23,4616 . 2

Принимаем f (1,5282) 23,462.

131

Пример 4.5

Найти приближенное значение функции у=f(х) при х=0,263 с помощью интерполяционного многочлена Лагранжа (функция задана в неравноотстоящих узлах – табл. 4.8).

 

Таблица 4.8

Исходные данные

 

 

х

у

0,05

0,050042

0,10

0,100335

0,17

0,171657

0,25

0,255342

0,30

0,309336

0,36

0,376403

Решение. Вычисления производим по формуле

 

 

n

f (x)

n 1

( yi

 

i 0

 

 

/

Di

)

, где

n 1

(x x

0

)(x

 

 

x1 )...(x

x

n

)

 

 

,

D

(x

i

x

0

)(x

i

x

)

...(x

i

x

i 1

)(x x

)(x

i

x

i 1

)

...(x

i

i

 

 

 

1

 

 

 

i

 

 

 

 

Вычисления приведены в табл. 4.9.

x

n

)

 

 

.

 

 

 

 

 

 

 

 

 

Таблица 4.9

 

 

 

 

Результаты вычислений

 

 

 

 

 

 

 

 

 

 

 

i

 

 

Разности

 

 

Di

yi / Di

 

 

 

 

 

 

 

 

 

 

0

0,213

-0,05

-0,12

 

-0,20

-0,25

-0,31

-0,19809∙10-4

-2526,2

1

0,05

0,163

-0,07

 

-0,15

-0,20

-0,26

0,44499∙10-5

25547,7

2

0,12

0,07

0,093

 

-0,08

-0,13

-0,19

-0,154365∙10-5

-111202,0

3

0,20

0,15

0,08

 

0,013

-0,05

-0,11

0,1716∙10-6

1488007,0

4

0,25

0,20

0,13

 

0,05

-0,037

-0,06

0,7215∙10-6

428740,0

5

0,31

0,26

0,19

 

0,11

0,06

-0,097

-0,980402∙10-6

-38392,7

Итак,

5 1

0,1506492 10

6

 

,

5 ( yi i 0

/ Di )

1790173,8

. Следовательно,

 

 

5

 

i

f (0,263)

 

 

5 1

 

( y

 

 

i 0

 

 

 

 

 

 

/ D ) 0,1506492 10

6

 

i

 

1790173,8

0,269678

.

Пример 4.6

Найти приближенное значение функции у=f(х) при х=0,1157 с помощью интерполяционного многочлена Лагранжа (функция задана в равноотстоящих узлах – табл. 4.10).

132

Таблица 4.10

Исходные данные

х

у

0,101

1,26183

0,106

1,27644

0,111

1,29122

0,116

1,30617

0,121

1,32130

0,126

1,32660

Решение.

 

 

 

 

Вычисления

производим

y

по

 

формуле

f (x)

 

 

 

n

 

 

,

 

 

 

(t)

 

i

 

 

 

 

 

 

 

 

 

 

 

 

n 1

 

i 0

(t i)C

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где

(t) t(t 1)(t 2)...(t n) ,

n 1

 

 

 

 

 

 

 

 

 

t (x x0 ) / h , h xi 1 xi ,

 

Ci ( 1)

n i

i! (n i)!.

 

 

 

 

 

 

 

 

 

 

Здесь t=(0,1157-0,101)/0,005=2,94.

Вычисления располагаем в табл.

4.11.

i

0

1

2

3

4

5

x

i

 

0,101

0,106

0,111

0,116

0,121

0,126

Результаты вычислений

y

i

t i

C

i

(t i)C

i

 

 

 

 

1,26183

2,94

-120

-352,8

1,27644

1,94

24

46,56

 

1,29122

0,94

-12

-11,28

1,30617

-0,06

12

-0,72

 

1,32130

-1,06

-24

25,44

 

1,32660

-2,06

120

-247,2

 

 

 

 

 

 

 

Таблица 4.11

y

i

 

 

 

(t i)C

i

 

 

-0,0035766

0,0274149

-0,1144691

-1,8141250

0,0519379

-0,0054069

Итак,

 

(t) 0,7024271,

5 1

 

5

y

 

 

 

 

i

 

 

 

 

i 0

(t i)C

i

 

 

1,858225. Следовательно,

 

 

5

y

 

 

 

 

 

 

 

f (0,1157)

5 1

(t)

 

i

 

 

i 0

(t i)C

i

 

 

 

 

 

 

0,7024271 ( 1,858225)

1,30527

.

Пример 4.7

Используя интерполяционные формулы Гаусса, вычислить приближенные значения функции у(х) при х=0,168 и х=0,175.

 

 

Таблица 4.12

Исходные данные

 

 

 

х

 

у

0,12

 

6,278

0,14

 

6,404

0,16

 

6,487

0,18

 

6,505

0,20

 

6,436

0,22

 

6,259

0,24

 

5,954

 

133

Составим таблицу конечных разностей функции у=f(х) (табл. 4.13)

 

 

 

 

 

Таблица 4.13

 

 

Таблица конечных разностей

 

 

 

 

 

 

 

xi

yi

 

yi

2

3

 

yi

yi

 

 

 

 

 

 

x-3=0,12

y-3=6,278

 

0,126

-0,043

-0,022

x-2=0,14

y-2=6,404

 

0,083

-0,065

-0,022

x-1=0,16

y-1=6,487

 

0,018

-0,087

-0,021

x0=0,18

y0=6,505

 

-0,069

-0,108

-0,020

x1=0,20

y1=6,436

 

-0,177

-0,128

-

x2=0,22

y2=6,259

 

-0,305

-

-

x3=0,24

y3=5,954

 

-

-

-

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

Для определения значения х=0,168 примем х0=0,16; тогда

t=(x-x0)/h=(0,168-0,16)/0,02=0,4.

Воспользуемся первой формулой Гаусса:

y(x) y

0

t y

0

 

 

 

 

y(0,168) 6,487

6,487 0,0072

t(t 1)

2

 

 

(t

2!

y

1

 

 

 

 

 

 

 

 

0,4 0,018

0,4(

 

 

0,0078 0,0012

1)t(t 1)

3

,

 

 

 

3!

 

y 1

 

 

 

 

 

 

 

 

 

0,6)

( 0,065)

 

1,4 0,4 ( 0,6)

( 0,022)

 

2

6

 

 

 

 

 

6,5032 6,503.

 

 

 

Для определения значения х=0,175 примем х0=0,18, тогда

t=(x-x0)/h=(0,175-0,18)/0,02=-0,25.

Воспользуемся второй формулой Гаусса:

y(x) y0 t y 1

t(t 1)

2

 

 

(t 1)t(t 1)

3

,

 

 

 

2!

y 1

3!

 

y 2

 

 

 

 

 

 

 

 

 

 

 

 

 

y(0,175) 6,505 ( 0,25) 0,018

( 0,25) 0,75

( 0,087)

0,75 ( 0,25) ( 1,25)

( 0,022)

 

 

 

2

6

 

 

 

 

 

 

 

 

 

 

6,505 0,0045 0,0082 0,0009

6,5078 6,508 .

 

 

 

 

Пример 4.8

Для функции y=f(x), заданной таблично (табл. 4.14) осуществить кусочно-линейное интерполирование и кусочно-квадратичное интерполирование.

134

 

Таблица 4.14

 

 

 

Исходные данные

 

 

 

 

 

 

 

 

 

х

 

у

 

 

 

0

 

1,5

 

 

 

0,5

 

0

 

 

 

1

 

0

 

 

 

2

 

2

 

 

 

3

 

2

 

 

 

4

 

1

 

 

 

5

 

2

 

 

 

 

 

S

k

(x)

 

 

 

 

 

В результате получим

Решение. Осуществим кусочно-линейное интерполирование. Для этого разобьем данную функцию на элементарные промежутки, определяемые соседними числами первого столбца таблицы – хк, и на каждом из этих участков построим интерполяционный полином Лагранжа первой степени (прямую линию):

yk

x x

k 1

yk 1

 

x x

k

.

 

 

 

 

 

 

x

 

x

 

x

 

x

 

k

k 1

 

k 1

k

 

 

 

 

 

 

 

 

 

3х 1,5

при

0 х 0,5,

 

 

 

0

 

при

0,5 x 1,

 

 

 

 

 

 

 

 

 

 

 

 

S1 (x)

2x 2

при

1 x 2,

 

 

2

 

при

2 x 3,

 

 

 

 

 

 

 

 

 

 

 

 

 

x 5

при

3 x 3,

 

 

 

 

3

при

4 x 5.

 

 

x

 

 

 

 

 

 

 

 

 

График

 

 

полученного

кусочно-линейного

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

представлен на рис. 4.14.

Рис. 4.14. Кусочно-линейная интерполяция

Осуществим кусочно-квадратичное интерполирование. Для этого будем рассматривать тройки известных точек отрезков [0;1], [1;3], [3;5]. На каждом из этих отрезков по известным точкам построим полином Лагранжа второй степени (параболу):

135

 

S

 

(x)

y

 

 

(x x

k

1

)(x x

k 2

)

y

 

 

(x x

k

)(x x

k 2

)

 

y

 

 

(x x

k

)(x x

k 1

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

k

 

 

x

 

 

 

 

x

 

 

k 1

 

 

x

 

 

 

x

 

 

k 2

 

 

x

 

 

 

x

 

 

 

 

 

 

 

(x

 

 

 

)(x

 

 

 

)

(x

 

 

)(x

 

 

)

 

(x

 

 

)(x

 

 

)

 

 

 

 

 

 

 

 

k

k

1

k

k 2

 

k 1

k

k 1

k 2

 

 

k 2

k

k 2

k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В результате получим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3x

2

4.5x 1.5,

 

0 x 1,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S2

(x) x

5x 4

,

 

1 x 3,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

2

 

8x

17,

 

 

 

3 x 5.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

График полученного кусочно-квадратичного интерполирования представлен на рис. 4.15.

Рис. 4.15. Кусочно-квадратичная интерполяция

Пример 4.9

Найти смыкающийся кубический сплайн, проходящий через точки: (0;0), (1;0,5), (2;2), (3;1,5). Первая производная удовлетворяет граничным

условиям S

(0) 0,2 и S

 

(3) 1 .

 

 

 

 

 

 

'

 

 

'

 

 

 

 

 

 

 

Решение. Кубический сплайн состоит из кубических полиномов

S(x) Sk (x) sk ,0

sk ,1 (x xk ) sk ,2 (x xk )

2

sk ,3

(x xk )

3

,

 

 

 

 

где 0 k N 1, N количество точек (хк,

ук), а xk

x xk 1 .

Коэффициенты сплайна S(x) вычисляются по формулам:

где

где

sk ,0 yk , sk ,1

 

mk

, sk ,2 dk

hk

(2mk mk 1 )

 

, sk ,3

 

mk 1 mk

,

(4.51)

 

 

 

 

 

 

 

 

 

 

2

 

 

6

 

 

 

 

 

 

6hk

 

mk S"(xk ) ; mk 1

S"(xk 1 ) ; hk xk 1

xk ; dk

y

k 1

y

k

.

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

Для вычисления mk применяется следующая формула:

 

 

 

 

hk 1mk 1 2(hk 1 hk )mk hk mk 1

uk ,

(4.52)

uk 6(dk dk 1 )

для k 1,2,...N 2 .

 

 

 

 

 

 

 

 

 

 

136

Система (4.52) является линейной системой с N-2 уравнениями и N неизвестными.

Для смыкающегося кубического сплайна дополняем ее уравнениями:

 

 

 

3

 

 

 

S' (x

 

))

m

 

 

 

 

 

m

 

 

 

(d

 

 

 

1

,

 

 

 

 

0

h

 

0

0

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

3

 

(S' (x

 

 

 

) d

 

 

)

m

N 2

.

 

 

 

 

 

 

 

 

 

 

 

 

N 1

 

h

 

 

N 1

N 2

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(4.53)

Сначала вычислим величины:

h

0

h

h

2

 

1,

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

0

( y

1

 

 

y

0

) / h

0

(0,5 0) /1 0,5,

 

 

 

 

 

 

 

 

 

 

 

 

d

1

( y

2

 

 

y

 

) / h

 

 

(2 0,5) /1 1,5,

 

 

 

 

 

 

 

1

 

 

 

1

 

d

2

( y

3

 

y

2

) / h

2

(1,5 2) /1 0,5,

 

 

 

 

 

 

 

 

 

 

 

 

u

1

6(d

1

 

d

0

) 6(1,5 0,5) 6,

 

 

 

 

 

 

 

 

 

 

 

 

 

u

2

6(d

2

d

1

) 6( 0,5 1,5) 12.

 

 

 

 

 

 

 

 

 

 

 

 

 

Из системы (4.52) получим уравнения:

m

0

4m

m

2

6,

 

 

1

 

 

m

 

4m

2

m

3

12.

1

 

 

 

Воспользуемся формулами (4.53):

 

 

 

3

 

 

S'(x

 

))

m

m

 

 

 

(d

 

 

1

0

h

 

0

0

2

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

3

(S'(x

 

) d

 

)

m

2

 

 

 

 

 

 

3

h

 

3

2

2

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

или

 

 

3(0,5 0,2)

m

 

0,9

m

 

 

 

m

 

1

1

 

 

 

0

2

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

3( 1 ( 0,5))

m

2

1,5

m

2

.

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

2

 

 

2

 

 

 

 

 

 

 

 

Подставляя

m

0

 

и

m

3

 

в систему (4.52) получим

0,9

m

4m m

 

6

 

 

 

 

 

 

 

1

 

 

 

 

 

m

 

5,1

 

 

 

3,5m

 

 

 

2

 

1

 

 

2

 

 

 

 

 

 

 

 

 

 

 

1

 

2

 

 

 

 

 

 

 

 

или

 

 

 

 

 

 

 

m

 

 

 

m

3,5m

 

10,5.

m

4m

 

1,5

2

12

 

 

 

 

 

1

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

1

 

2

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Решая эту систему, получим, что

m1 2,52 и m2

Находим m0

и m3 :

 

 

 

 

 

 

 

3,72

.

m

 

0,9

2,52

 

0,36,

 

 

 

0

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

3

1,5 3,72 0,36.

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

Значения

m0

0,36

,

m1 2,52 ,

m2 3,72 ,

находим коэффициенты сплайна. Решением является:

m

3

0,36

 

 

подставляем в (4.51) и

S0 (x) 0,48x3 0,18x 2 0,2x

 

0 x 1,

S1 (x) 1,04(x 1)3 1,26(x 1)2

1,28(x 1) 0,5

для 1 x 2,

S2 (x) 0,68(x 2)3 1,86(x 2)2

0,68(x 2) 2

2 x 3.

 

137

 

Смыкающийся кубический сплайн показан на рис. 4.16.

Рис. 4.16 Смыкающийся кубический сплайн

Пример 4.10

Найти естественный кубический сплайн, проходящий через точки:

(0;0), (1;0,5), (2;2), (3;1,5) с граничными условиями

S"(0) 0 и

S"(3) 0.

Решение. Кубический сплайн состоит из кубических полиномов:

S(x) Sk (x) sk ,0 sk ,1 (x xk ) sk ,2 (x xk )

2

sk ,3 (x xk )

3

,

 

 

где 0 k N 1, N – количество точек к, ук), а xk

x xk 1 .

 

 

 

Коэффициенты сплайна S(x) вычисляются по формулам:

где

где

 

sk ,0 yk , sk ,1

 

 

m

k

,

 

dk

h (2m

k

m

k 1

)

,

 

 

 

m

k 1

 

m

k

 

 

 

 

sk ,2

k

 

 

 

sk ,3

 

 

 

 

 

 

 

 

2

 

 

6

 

 

 

 

6h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

mk

S"(xk ) , mk 1

S"(xk 1 )

, где hk

xk 1

xk ,

d k

 

y

k 1

y

k

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

Для вычисления mk

применяется следующая формула

 

 

 

 

 

 

 

 

hk 1mk 1 2(hk 1 hk )mk

hk mk 1

uk

,

uk

6(dk dk 1 )

для k 1,2,...N 2 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

(4.54)

(4.55)

Система (4.55) является линейной системой с N-2 уравнениямии N неизвестными.

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

m

0

0,

 

 

 

m

N 1

0.

 

 

(4.56)

Сначала вычислим величины:

h0

h1 h2 1,

 

d 0

( y1

y0 ) / h0

(0,5 0) /1 0,5,

d1

( y2

y1 ) / h1

(2 0,5) /1 1,5,

d 2

( y3

y2 ) / h2

(1,5 2) /1 0,5,

u1

6(d1

d 0 ) 6(1,5 0,5) 6,

u2

6(d 2 d1 ) 6( 0,5 1,5) 12.

138

Из системы (4.55) получим уравнения:

m

0

4m

m

2

6,

 

 

1

 

 

m

 

4m

2

m

3

12.

1

 

 

 

Подставляя m0

и m3

в систему (4.55)

4m

 

m

2

6,

 

 

1

 

 

 

 

m

4m

2

12.

 

 

1

 

 

 

 

 

Решая эту систему, получим, что m1 Значения m0 0 , m1 2,4 , m2 3,6 ,

находим коэффициенты сплайана. Решением является:

получим:

2,4

и m2 3,6

m3

0 подставляем в (4.54) и

S

 

(x) 0,4x

3

0,1x

 

 

 

 

0

 

 

 

 

 

S

(x) 1(x 1)

 

1,2(x 1)

 

1,3(x 1) 0,5

 

3

2

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

S

 

(x) 0,6(x 2)

3

1,8(x 2)

2

0,7(x 2)

2

2

 

 

 

 

 

 

 

 

 

 

 

 

 

для

0 x 1, 1 x 2, 2 x 3.

Естественный кубический сплайан показан на рис. 4.17.

Рис. 4.17 Естественный кубический сплайн

Пример 4.11

Найти экстраполяционный кубический сплайн, проходящий через точки: (0;0), (1;0,5), (2;2), (3;1,5).

Решение. Кубический сплайн состоит из кубических полиномов

S(x) Sk (x) sk ,0 sk ,1 (x xk ) sk ,2 (x xk )2 sk ,3 (x xk )3 ,

где 0 k N 1, N количество точек к, ук), а xk x xk 1 . Коэффициенты сплайна S(x) вычисляются по формулам:

 

 

sk ,0 yk , sk ,2

dk

h (2m

k

m

k 1

)

, sk ,1

 

m

k

,

 

 

m

k 1

m

k

 

 

k

 

 

 

 

 

 

sk ,3

 

 

 

 

 

 

 

 

 

6

 

 

 

 

2

 

 

6h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где m

 

S"(x

) , m

 

S"(x

 

) ,

h

x

 

 

x

 

,

d

 

 

yk 1 yk

.

 

 

 

 

k

k 1

k 1

k 1

k

k

 

 

 

 

 

 

k

 

 

 

 

k

 

 

 

 

 

 

 

 

 

hk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для вычисления mk

применяется следующая формула

hk 1mk 1 2(hk 1 hk )mk hk mk 1 uk ,

(4.57)

(4.58)

139

где

uk

6(dk

dk 1 )

для

k 1,2,...N

системой с N-2 уравнениями и N Для экстраполяционного

уравнениями:

2 . Система

(4.58) является линейной

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

кубического

сплайна дополняем ее

m

 

m

 

h

(m

 

m )

,

 

 

 

0

 

 

2

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

m

 

 

m

 

 

 

h

N

2

(m

N

2

m

N 3

 

 

 

 

 

 

 

 

N 1

N 2

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

)

.

 

(4.59)

Сначала вычислим величины:

h

0

h

h

2

 

1,

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

0

( y

1

 

 

y

0

) / h

0

(0,5 0) /1 0,5,

 

 

 

 

 

 

 

 

 

 

 

 

d

1

( y

2

 

 

y

 

) / h

 

 

(2 0,5) /1 1,5,

 

 

 

 

 

 

 

1

 

 

 

1

 

d

2

( y

3

 

y

2

) / h

2

(1,5 2) /1 0,5,

 

 

 

 

 

 

 

 

 

 

 

 

u

1

6(d

1

 

d

0

) 6(1,5 0,5) 6,

 

 

 

 

 

 

 

 

 

 

 

 

 

u

2

6(d

2

d

1

) 6( 0,5 1,5) 12.

 

 

 

 

 

 

 

 

 

 

 

 

 

Из системы (4.58) получим уравнения

m

0

4m

m

2

6,

 

 

1

 

 

m

 

4m

2

m

3

12.

1

 

 

 

Воспользуемся формулами (4.59):

m

 

m

h

(m

 

 

m )

 

0

 

2

1

 

 

 

 

 

 

 

0

1

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

m

 

m

 

 

h

(m

 

m )

 

 

2

 

 

2

1

 

 

 

 

 

 

 

 

3

 

2

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

или

m

0

m

(m

2

m ) 2m

 

m

2

 

1

 

1

1

 

m

3

m

2

(m

2

m ) 2m

2

m .

 

 

 

 

1

 

 

1

Подставляя

m0

и m3

в систему

2m m

 

4m m

 

6

 

или

 

1

2

1

 

2

 

 

 

 

 

 

 

m 4m

2

2m

2

m

12

 

1

 

 

 

1

 

 

 

Получим, что m1

1

и m2

2 .

Находим m0

и m3 :

 

 

m0

2 2 4,

 

 

 

 

 

m3

4

1 5.

 

 

 

 

(4.58) получим

6m1 6,

6m2 12.

Значения m0

4

, m1

 

коэффициенты сплайна. Решением является:

1

,

m

2

 

2

,

m

3

5

 

 

подставляем в (4.57) и находим

S

 

(x) 0,5x

3

2x

2

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S

0

(x) 0,5(x 1)

 

 

0,5(x 1)

 

1,5(x 1) 0,5

 

3

 

2

 

 

 

 

 

 

 

 

 

 

 

S

1

(x) 0,5(x 2)

 

(x 2)

 

(x 2) 2

 

3

2

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

0 x 1,

для 1 x 2,

2 x 3.

Экстраполяционный кубический сплайн показан на рис. 4.18.

140