Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методы вычислений в Excel.pdf
Скачиваний:
187
Добавлен:
14.03.2016
Размер:
998 Кб
Скачать

 

 

 

Требуется найти значение функции при z 1 и z 3,2 при

помощи

 

 

кусочно-постоянной

 

 

и

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Решение. Точка z 1 принадлежит первому отрезку 0,2 ,

т.е. i 1

и,

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

по

 

формулам

левой

кусочно-

постоянной интерполяции F 1 f0

1 ,

по формулам правой

кусочно-постоянной

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

F 1 f1 0,2 .

Теперь

воспользуемся формулами кусочно-линейной интерполяции:

k

1

 

f1

f0

 

 

 

0,2 1 0,6 , l f

1

 

f1

f0

x 0,2 1,2

2 1,

 

 

 

 

 

 

 

 

 

x1

x0

 

 

 

2

 

1

 

 

x0

x0

1

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и тогда F 1 0,6 1 1 0,4 .

 

 

 

 

 

 

 

 

 

 

 

Точка

z 3,2

принадлежит третьему интервалу 3;3,5 , т.е.

i 3 и,

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

по формулам левой кусочно-постоянной

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

F 3,2 f2 0,5 ,

по формулам правой кусочно-

постоянной

 

 

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

F 3,2 f3 0,8 .

Воспользуемся

формулами кусочно-линейной интерполяции:

 

 

k3

 

 

f3 f2

 

 

0,8 0,5

0,6 ,

 

 

 

 

 

 

 

 

 

 

x3

x2

 

3,5

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

l3

f3

 

f3

 

f2

x3

0,8 0,6 3,5 1,3 , и

 

 

 

x3

 

 

 

 

 

 

 

 

 

 

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

F 3,2 0,6 3,2 1,3 0,62 .

 

 

 

 

 

 

 

 

 

Кубический интерполяционный сплайн

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

45

Итак, на каждом i -м отрезке xi 1 , xi , i 1,2,..., N , решение будем искать в виде полинома третьей степени:

 

 

 

 

S

x

a

 

 

b

x x

c

 

 

x xi 2

 

d

 

x xi 3

 

 

 

 

 

i

 

i

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

i

 

 

 

i

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Неизвестные коэффициенты ai ,bi ,ci , di ,

 

i 0,1,2,..., N , находим

из:

условий интерполяции: Si xi

fi

, i 1,2,..., N , S1 x0 f0 ;

 

 

 

 

непрерывности функции Si

xi 1 Si 1 xi 1 , i 2,3,..., N ;

непрерывности первой и второй производной:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xi

1 , i 2,3,..., N .

 

 

Si

xi 1 Si 1 xi 1 ,

Si xi 1

 

Si

1

 

 

Учитывая, что

 

 

 

 

 

 

 

 

 

 

x xi 1 2

 

 

 

 

 

 

 

 

 

x xi 1 3

 

 

 

S

i 1

x a

 

b

x x

 

c

 

 

 

 

d

 

 

 

 

 

,

 

i 1

i 1

i 1

 

 

 

 

 

 

 

 

 

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

для определения 4N неизвестных получаем систему 4N 2

уравнений:

 

 

 

 

 

 

 

 

 

ai fi ,

i 1,2,..., N ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b h

c

 

 

h2

 

d

 

 

h

3

 

 

f

 

 

f

 

 

 

,

i 1,2,..., N ;

 

 

 

 

 

 

 

 

i

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

i i

 

 

i

 

 

 

 

i

 

 

 

 

 

 

i

 

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b b

 

c

h

 

d

h2

 

,

i 1,2,..., N ;

 

 

 

 

 

 

 

 

 

 

 

i

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

i 1

 

i

 

i

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

di hi

ci

 

ci 1 ,

 

i 2,3,..., N ,

 

 

 

 

где

hi xi

xi 1 .

Недостающие

 

два

 

уравнения

выводятся из

дополнительных

условий:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Можно

 

показать,

S

a S

 

b 0 .

 

 

что

при этом

c0 cN

 

0 .

 

 

Из

системы

 

можно исключить

неизвестные bi , di , получив систему

 

 

N 1

линейных

уравнений (СЛАУ) для определения коэффициентов ci

:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c0

0 , cN

 

 

0 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

fi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hi ci 1 2 hi hi 1 ci hi 1ci 1

 

fi 1

 

 

 

 

 

fi fi 1

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

 

 

 

h

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

i 1

 

 

 

 

 

 

 

i 1,2,..., N 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(3.1)

46

Матрица СЛАУ (3.1) является ленточной, поэтому система решается с помощью прямого экономичного метода прогонки.

После этого вычисляются коэффициенты bi , di :

d

 

 

 

c

i

c

i 1

,

b

 

c h

 

 

d

i

h

2

 

 

f

i

f

i 1

, i 1,2,..., N .

(3.2)

i

 

 

 

 

 

 

 

 

i i

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hi

 

 

 

 

 

 

i

 

 

 

2

 

 

 

 

6

 

 

 

 

 

hi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В случае постоянной сетки hi

 

h ,

 

и тогда система уравнений

упрощается:

 

 

 

 

f2 2 f1 f0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4c

 

c

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

h2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

i 1

4c

i

 

c

i 1

 

6

fi 1 2 fi

 

fi 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 2,3,..., N 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

N

2

4c

N

1

c

N

6

f N 2 f N 1 f N 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cN

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для вычисления значения S x

 

 

в

произвольной

точке

отрезка

 

x a,b

необходимо решить систему уравнений на

коэффициенты

 

 

ci

,

 

 

 

i 1,2,..., N 1 ,

 

 

затем найти

все

коэффициенты bi ,

 

di . Далее, необходимо определить, на какой

интервал

 

 

xi0 , xi0 1

попадает

 

 

эта точка, и, зная номер i0 ,

вычислить значение сплайна и его производных в точке z

 

S z a

i0

b

z x

i0

 

c

i0

 

z xi0 2

d

i0

 

z xi0 3

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i0

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z xi0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

 

 

 

 

 

S z bi0 ci0 z xi0 di0

 

 

2

 

 

 

 

 

 

 

 

 

 

 

S

 

 

ci0 di0 z xi0 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРИМЕР 3.2. Задана таблица значений функции

 

x

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

1/4

 

 

 

 

 

 

 

 

 

1/2

 

 

 

 

 

 

 

 

 

 

3/4

 

 

1

f

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

0

 

 

1

Требуется вычислить значения функции в точках 0,2 и 0,8, используя сплайн-интерполяцию.

47

В нашем случае: h h 1

4

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f0 1, f1 2, f2 1, f3 0, f4 1,

 

 

 

N 4 .

 

 

 

 

 

 

 

Выпишем систему уравнений для определения ci :

 

4c1 c2

6

 

f2 2 f1

f0

6

1

2

2 1

192

 

 

 

 

h2

 

 

 

 

1

4

2

 

 

 

 

 

 

 

 

 

 

 

f3 2 f2 f1

 

 

 

 

 

 

 

 

 

 

 

 

c

4c

 

c

 

 

6

 

 

 

6 0 2 2 0

.

 

 

 

 

 

 

1

 

2

 

3

 

 

 

 

h2

 

 

 

 

 

 

 

h2

 

 

 

 

 

 

c2

4c3

c4

6

 

f4 2 f3 f2

 

 

6

1

2

0

1

192

 

 

 

h2

 

 

 

 

 

 

1

4

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c4 0

Решая эту систему линейных уравнений, получим:

c1 48,

c2

0,

 

c3 48, c4

0 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d1

 

c1 c0

 

 

48

192 ,

 

d2

 

c2 c1

 

 

 

48

192 ,

h

 

 

 

1

4

 

 

 

 

 

 

h

 

 

 

 

 

1

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c3 c2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c4 c3

 

 

 

 

 

 

 

 

 

 

 

d3

 

 

 

 

 

48

 

192 , d4

 

 

 

 

 

 

 

48

 

192 .

 

h

 

 

 

 

1

4

 

 

 

 

 

 

 

 

h

 

 

1

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c1h

 

 

d1h2

 

 

 

 

f1 f0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

 

 

 

 

 

48

 

 

192

 

 

 

2

1

0 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

6

 

 

 

 

h

 

 

8

 

 

 

16

 

6

 

 

1

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c2 h

 

d2 h

2

 

 

 

 

 

f2

f1

 

 

 

 

 

 

192

 

 

1 2

 

 

 

4

 

 

b2

 

 

 

 

 

 

 

 

 

 

 

 

6 ,

2

 

 

 

 

6

 

 

 

 

 

 

 

h

 

16

 

6

 

 

1

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c3 h

 

d3 h2

 

 

 

 

f3

f 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

 

 

 

 

 

 

 

48

 

 

 

192

 

0 1

0 ,

2

 

 

 

 

6

 

 

 

 

 

 

h

 

 

8

 

 

16 6

 

1

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c4 h

 

d4 h

2

 

 

 

 

 

f4

f3

 

 

 

 

192

 

 

 

 

1 0

 

 

4

 

 

 

 

 

b4

 

 

 

 

 

 

 

 

 

 

 

 

6 ,

 

 

 

2

 

 

 

 

6

 

 

 

 

 

 

 

h

 

16 6

 

 

 

1

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a1 2,a2 1,a3 0,a4 1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

48