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

3237

.pdf
Скачиваний:
3
Добавлен:
15.11.2022
Размер:
3.63 Mб
Скачать

достаточно гладкой, нет смысла пытаться повышать качество ее полиномиальной аппроксимации за счет многочленов высоких степеней. Более перспективным в этих условиях является применение кусочно-полиномиальной аппроксимации f (x) , предполагающей, что аппроксимирующая функция

(x) составляется из отдельных многочленов, как правило, одинаковой небольшой степени, определенных каждый на своей части отрезка [a,b] . Использование низких степеней многочленов, составляющих (x) , позволяет легко находить

их коэффициенты как из интерполяционных, так и из иных условий.

Так, если заданы значения

yi

функции y f (x) на

системе узлов xi таких, что

 

 

 

a x0 x1 ...

xn

b ,

(2.27)

и требуется аппроксимировать

f (x)

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

функцией (x) , исходя из условий интерполяции

то беря функцию

(x)

(xi )

yi ,

(i

0,1,..., n) ,

 

 

(x) в виде

 

 

 

 

 

a1x

b1 при

x

[x0 , x1],

 

a2 x

b2

при

x

[x1, x2

],

(2.28)

.... .... .... .... .... ....

 

 

 

an x

bn

при

x

[xn 1, xn ],

 

для нахождения n пар ее коэффициентов ak , bk (k 1,2,..., n) имеем систему из 2n линейных уравнений

40

a1x0

b1

 

y0 ,

 

a1x1

b1

y1;

 

a2 x1

b2

 

y1,

 

a2 x2

b2

 

y2 ;

(2.29)

.... .... .... ....

 

an xn 1

bn

yn 1,

 

an xn

bn

yn ,

 

причем, как видим, каждая пара соседних уравнений системы (2.29), имеющих коэффициенты с одинаковыми индексами, не связана с остальными и может решаться отдельно.

Аналогично, каждое звено кусочно-квадратичной

функции (при n

 

 

2m в (2.27))

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a x 2

b x

c

 

 

при

x

[x

0

, x

2

],

 

 

 

 

1

 

 

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

a

2

x2

b x

c

2

при

x

[x

2

, x

4

],

 

 

 

(x)

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.... .... .... .... .... .... .... ....

 

 

 

 

 

 

a

m

x2

b x

c

m

при

x [x

2m 2

, x

2m

]

 

 

 

m

 

 

 

 

 

 

 

 

 

 

определяется тройкой коэффициентов ak , bk , ck (k

1,2,..., n) ,

которые могут быть найдены последовательным решением трехмерных линейных систем

a

k

x 2

b

k

x

2k 2

c

k

y

2k 2

,

 

2k 2

 

 

 

 

 

 

 

 

a

k

x 2

b

 

x

2k 1

c

k

 

y

2k 1

,

(2.30)

 

2k 1

k

 

 

 

 

 

 

a

k

x 2

b x

2k

 

c

k

 

y

2k

,

 

 

 

 

 

2k

k

 

 

 

 

 

 

 

 

 

 

соответствующим выставленным интерполяционным условиям.

41

Фактически, в рассмотренных случаях речь идет о

последовательной линейной интерполяции (2.7)

по

перемещаемым вдоль отрезка [a,b] парам соседних

точек

разбиения (2.27) и о последовательной квадратичной интерполяции (2.8) по тройкам таких точек.

Пример. Для функции y f (x) , заданной таблицей 6

Таблица 6

x

0

0.5

1

2

3

4

5

f (x)

1.5

0

0

2

2

1

2

 

 

 

 

 

 

 

 

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

Решение. Проведем линейное интерполирование данной функции на каждом из элементарных промежутков с помощью

формулы (2.28). Положив f (x)

1(x) , будем иметь

 

3x

1.5,

x

[0,0.5],

 

 

0,

x

[0.5,1],

1(x)

2x

2,

x

[1,2],

 

0,

x

[2,3],

 

 

 

x

5,

x

[3,4],

 

x

3,

x

[4,5].

Квадратичное интерполирование по тройкам известных точек отрезков [0,1] , [1,3] и [3,5] приводит к приближенному равенству

 

3x2

4.5x

1.5,

x

[0,1],

 

2 (x)

x2

5x

4,

x

[1, 3],

 

 

x2 8x 17,

x

[3, 5].

 

Приведенный

пример

приводит к

 

понятию

сплайнов.

Пусть отрезок [a,b]

разбит на n частей точками xi

:

42

a x0

x1 x2

... xi 1

xi ... xn

b.

Сплайном

k

степени

называется

функция,

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

интервалов

(xi 1, xi ) (i

1,2,..., n

1) , причем в точках стыка

двух интервалов

xi

(i 1,2,..., n

1)

функция

непрерывна

вместе со

своими

производными

до

порядка

не выше k .

Например, непрерывная кусочно-линейная функция (ломаная) является сплайном первой степени с производной, терпящей разрыв в точках излома.

Рассмотрим наиболее известный и широко применяемый интерполяционный сплайн третьей степени (кубический

сплайн).

 

 

Пусть на отрезке [a,b]

определена функция y

f (x) ,

значения которой в точках xi

равны yi f (xi ) .

 

Задача интерполяции функции y f (x) на отрезке

a, b

(сплайном третьей степени) состоит в нахождении функции

S(x) ,

равной многочлену третьей степени

Si (x)

на каждом

отрезке

xi 1, xi

(i

1,2,..., n) , т. е.

 

 

 

S (x)

Si (x)

a0i x3

a1i x 2 a2i x a3i , x xi

1, xi

,

(2.31)

причем значения сплайна в узлах интерполяции

xi

равны

соответствующим значениям заданной функции yi

и сплайн-

функция непрерывна в узлах интерполяции вместе с производными первого и второго порядков

S(xi )

Si 1(xi ) yi

(i

0,1,2,...n

1), S(xn ) Sn (xn )

yn , (2.32)

Si (xi )

Si 1(xi )

(i

1,2,..., n 1),

(2.33)

Si (xi )

Si

1(xi )

(i

1,2,..., n 1),

(2.34)

Si (xi )

Si

1(xi )

(i

1,2,..., n

1).

(2.35)

43

Условия

(2.32)

-

(2.35)

дают

4n

2

линейных

алгебраических уравнений для определения 4n

неизвестных

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

aip

p

0,1,2,3;

i

1,2,..., n

при

соответствующих степенях x

в многочленах Si (x) .

 

Можно показать, что интерполяционный кубический

сплайн для функции

y

f (x)

существует

и

является

единственным, если вместе с уравнениями (2.32)-(2.35)

удовлетворяется

какая-либо пара дополнительных

условий

(краевых условий) следующего типа

 

 

 

 

I. S (a)

f (a),

S (b)

f (b) ;

 

 

 

 

II.

S (a)

f

(a),

S (b)

f (b) ;

 

 

 

 

III. S (a)

S (b),

S (a)

S (b) .

 

 

 

 

Рассмотрим случай разбиения отрезка

a, b

на n

равных

частей

с

 

шагом

 

h ,

для

 

которого

x0 a,

x1 x0

h,

xi 1

xi

h,...., xn

b и

h

(b

a) / n .

Разберем построение интерполяционного кубического сплайна отдельно для условий I и II типов.

При построении сплайна, удовлетворяющего краевым условиям I типа, введем величины mi S (xi ) , называемые

иногда наклонами сплайна в точках (узлах)

xi

(i 0,1,...., n) .

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

 

 

 

S(x)

 

Si (x) yi 1

(x xi )2 (2(x

xi 1) h)

yi

(x

xi

1)2 (2(xi

x) h)

 

 

h3

 

 

 

 

 

h3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ m

 

 

(x xi )2 (x xi 1 )

+ m

 

(x xi 1)2 (x xi )

,

(2.36)

1

 

 

 

i

 

 

 

 

i

 

h2

 

 

 

h2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x xi 1, xi

(i 1,2,..., n)

 

 

 

 

удовлетворяет условиям (2.32),

(2.33),

(2.34)

для любых mi .

Из условий (2.35) и краевых условий I типа можно определить n 1 параметр mi .

44

Действительно,

 

 

 

легко

 

 

 

проверить,

что

S (xi 1)

Si (xi 1)

 

 

yi 1,

S (xi ) Si (xi )

yi (i 1,2,..., n) .

Кроме того, вычисления показывают, что

 

 

 

S (xi )

Si (xi ) mi ,

 

S (xi )

Si

1(xi )

mi ,

(i 1,2,..., n) .

Если учесть, что

 

 

 

 

 

 

 

 

 

 

Si" (xi )

2mi

1

 

 

4mi

 

6

yi

yi

1

 

 

(i

1,2,..., n

1) ,

h

 

 

 

 

h

 

h2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Si" 1

(xi )

 

4mi

 

 

2mi

1

6

yi 1

 

yi

 

(i

1,2,..., n

1) ,

 

h

 

h

 

h2

 

 

 

 

 

 

 

 

 

 

а также краевые условия I типа и условия (2.35), то получим систему из n 1 линейных уравнений относительно неизвестных mi

m0

b0

f (a),

 

 

 

 

 

mi 1

4mi

mi 1

bi

3( yi 1

yi 1)

(i 1,2, ,..., n

1) (2.37)

h

 

 

 

 

 

 

 

 

mn

bn

f (b).

 

 

 

 

 

Решение этой системы позволяет найти значения

неизвестных

mi и

определить

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

сплайн в

виде соотношений (2.36).

Матрица А системы (2.36) имеет порядок n 1 и является трехдиагональной

45

1

0

0

0

0

0

0

1

4

1

0

0

0

0

0

1

4

1

0

0

0

A

 

 

 

 

 

 

 

0

0

0

0

1

4

1

0

0

0

0

0

0

1

4

1

0

0

0

0

0

0

0

1

Метод Гаусса (метод исключения неизвестных) для системы (2.37) значительно упрощается и носит название метода прогонки. Прямой прогонкой находят так называемые прогоночные коэффициенты

L0 0,

M 0

b0 ,

Li

 

1

 

 

,

M i

Li (M i 1 bi )

 

 

 

 

Li

1 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(i 1,2,..., n 1) .

 

 

Обратной

 

прогонкой

 

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

определяют

неизвестные mi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

mn

bn ,

 

 

 

 

 

(i

 

n 1, n

2,...,0) .

 

mi

Li mi

 

 

M i

 

 

 

 

1

 

 

 

 

 

 

 

 

Пример.

На

отрезке

 

0,

 

 

 

построить

кубический

 

2

 

 

сплайн с шагом

h

 

 

, удовлетворяющий на концах отрезка

 

2

краевым

условиям

I

типа и

интерполирующий функцию

y sin x . С помощью интерполяционной формулы вычислить приближенное значение sin 6 и сравнить его с точным.

46

Решение. Будем искать кубическую параболу y S(x) , удовлетворяющую следующим условиям на концах отрезка

x0

0 и

 

 

 

x1

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y0

S (x0 )

 

sin x0

 

 

0,

 

 

 

 

y1

 

 

S(h)

sin h

1,

 

 

 

 

m0

S (x0 )

 

sin

x0

 

cos x0

 

 

1,

 

 

 

 

 

 

 

 

m1

S (h)

 

sin h

 

cos x0

 

 

1,

 

 

 

 

 

 

 

 

 

 

Подставим значения

 

h,

 

y0 ,

y1, m0 , m1

в формулу

(2.33) и получим сплайн вида

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S (x)

S3 (x)

 

x2 (2(h

x)

 

 

h)

 

(x

 

h)2 x

,

x

[0, h];

 

 

 

 

 

 

 

 

 

h

3

 

 

 

 

 

 

 

 

 

 

 

h2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S (x)

x

4(

3)2

 

x

2

4(4

 

 

)

 

x

3

x

0.057358x

2

0.11074x

3

.

 

 

2

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тогда

 

sin

 

 

 

 

S

 

 

 

 

0.49196983

(точное

значение

 

 

6

 

 

 

6

 

 

равно 0.5).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

При

 

построении сплайна,

 

удовлетворяющего краевым

условиям

 

II

типа,

 

введем величину

 

~

S (xi ) - значение

 

 

 

mi

второй производной сплайна в узле xi

 

(i

0,1,..., n) .

 

 

 

Уравнения (2.32),

(2.33),

 

(2.35)

 

 

будут удовлетворены,

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

S(x) Si (x) yi 1

(x xi )2 (2(x xi 1) h)

yi

(x xi 1)2 (2(xi x) h)

h3

h3

 

 

~

 

(x x)3

h2 (x

i

x)

~

(x x

)3

h2

(x x

)

 

 

i

 

 

 

i 1

 

 

i 1

 

 

+ mi

1

 

 

 

 

 

+ mi

 

 

 

 

 

, (2.38)

 

6h

 

 

 

 

 

6h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

xi

1, xi

(i 1,2,..., n) .

 

 

 

47

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

 

 

 

yi yi

 

 

 

~

 

~

 

 

 

Si

(xi )

1

 

 

hmi

2hmi

(i

1,2,..., n 1) ,

 

h

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yi 1

 

yi

 

 

~

~

 

 

Si 1

(xi )

 

 

 

2hmi

hmi 1

(i

1,2,..., n 1) ,

 

h

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и используя краевые условия II типа и условия (2.34), получим систему из n 1 линейных уравнений относительно

~

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

~

m0 f (a),

~

~

~

6( yi 1 2 yi

yi 1)

 

 

mi 1

4mi

mi 1

 

 

, (i 1,2,,..., n 1)

(2.39)

h2

 

~

 

 

 

 

 

f (b).

 

 

 

 

 

mn

 

 

 

 

 

Системы (2.37) и (2.39) являются частными случаями системы линейных алгебраических уравнений следующего вида

u0

b0 ,

 

 

 

 

ui 1

4ui ui 1

bi ,

(i 1,2, ,..., n

1)

(2.40)

un

bn .

 

 

 

 

Для

функции

f (x) ,

имеющей

на отрезке

a, b

непрерывные производные до третьего порядка включительно,

точность

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

ее кубическим сплайном S(x)

по

точкам

равномерного

разбиения отрезка с шагом h

при

любых указанных ранее краевых условиях оценивается

следующим неравенством для любых

x на отрезке

a, b

 

f (x) S(x)

 

5

M 3h3

, где M 3

max

 

f (x)

 

.

(2.41)

 

 

 

 

 

 

2

 

 

 

 

 

a x b

 

 

 

 

 

Неравенство

(2.41)

дает завышенную оценку точности

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

48

 

2.8. Среднеквадратичное приближение функций.

 

 

Метод наименьших квадратов

 

 

Пусть

для

неизвестной

функции f (x)

в точках

x0 , x1 , ..., xm

экспериментальным путем

получены

значения

y0

f (x0 ),

y1

f (x1),...., ym

f (xm ) .

 

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

позволяет аппроксимировать таблично

заданную

функцию

f (x)

с помощью более простой функции

(x) .

При этом

требуется выполнение в узлах интерполяции

xi

равенства

f (xi )

(xi )

( i

0,1,..., m ). В ряде случаев выполнение этого

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

формулу f (xi )

(xi )

( i 0,1,..., m ), пригодную для большего

отрезка [a,b] .

При

этом точность приближения может

оцениваться по разному. В основу обычно берется рассмотренное отклонение

f (xi ) (xi ) ( i 0,1,..., m ).

Если требуется малая величина отклонения одной функции от другой во всех точках отрезка, то за меру близости принимают их максимальное отклонение

max

f (xi ) (xi )

 

( i

0,1,..., m ),

x a,b

 

 

 

 

 

требуя, чтобы оно было меньше заданного

0 . В этом

случае близость между функциями

f (x)

и

(x) называется

равномерной.

 

 

 

49

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