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

книги из ГПНТБ / Марчук Г.И. Методы вычислительной математики

.pdf
Скачиваний:
75
Добавлен:
25.10.2023
Размер:
13.2 Mб
Скачать

где

W.} (a,

b)—пространство

 

функций,

имеющих

суммируе­

мые с квадратом обобщенные вторые производные.

(Заметим,

что

функции из Wl(a, Ь)

непрерывны

и имеют

на

[а,

Ь] не­

прерывные

первые

производные.)

Покажем,

что построенная

нами выше

кусочно-кубическая

интерполирующая

функция

g(x)

является решением задачи (7.17). Для

этого рассмотрим

величину

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ь

 

 

 

 

 

 

 

 

 

 

 

 

Ф(

 

 

dx2

(и — ё)

dx.

 

 

(7.18)

Интегрируя по

частям

и используя

свойства

функций g и

Є IV7 ! (а, Ь),

получим

 

 

 

 

 

 

 

 

 

 

 

Ф ( и - й )

=

Ф ( « ) - Ф ( й ) - 2

7

da

 

dg

\

d*g -x=b

 

 

\

dx

 

dx

I

dx"

 

 

 

 

ь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

da

 

 

 

 

= ф ( ц ) _ ф ( г ) .

 

 

 

 

 

~dx~

 

dx I

dx*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

•2^aUu-g)

 

 

=

 

 

Ф(и)-ф(ё),

 

(7.19)

или,

что эквивалентно,

 

 

 

 

 

 

 

 

 

 

 

 

 

ф ( # ) = ф ( и )

— ф ( ы — ^ Х Ф ( и )

 

 

(7.20)

для

любой

функции

u S l F l f a ,

6). Таким

образом,

функция

g(x)

является

единственным

(это

 

нетрудно

показать,

если

воспользоваться равенством Ф(")—(£>{g)=<X>(u

— g))

реше­

нием

задачи (7.17).

 

 

 

 

 

 

 

 

 

 

 

Резюмируя

изложенное

выше,

можно

сделать заключение

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

носительно

точности

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

можно

сказать

сле­

дующее.

 

 

 

 

 

 

 

Пусть на

отрезке

[а, Ь] определена

некоторая

непрерыв­

ная функция

f(x) и

в точках a = x 0 < * i < .. - <.xn=b

нам

известны ее

значения

fh=f(Xh)

( £ — 0,

1 , . . . ,

п).

Используя

эти значения

{/л}£ = 0 ,

построим кусочно-кубическую интерпо­

лирующую функцию

g{x),

удовлетворяющую

требованиям

1—4. Тогда функция погрешности интерполяции <р(х) —g(x)

•—ї(х) удовлетворяет

неравенству

 

 

 

 

 

max

|cp (л:)К C/ia ,

 

(7^1)

 

a<x<b

 

 

v

' '

где

a, С—неотрицательные

константы, не

зависящие

от

сет­

ки,

и

 

 

 

 

 

h=

max \xhXk-i\-

 

(7.22)

Значение постоянной а можно получить

достаточно

точно,

если иметь дополнительные сведения относительно функции

1{х). Так, например, если f(x)

имеет непрерывные первые про­

изводные, то а = 1 . Если же

f(x) непрерывна и имеет непре­

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

2.7.2. Кусочно-кубическая интерполяция со сглаживанием

Рассмотрим задачу интерполяции функций одного пере­ менного, которая имеет существенное отличие от задачи обыч­ ной интерполяции, изученной выше.

Пусть на отрезке [а, Ь) вещественной оси х определена

некоторая функция f(x)

и в точках сетки a=x0<Xi<i

...

<

<ixn—b

известны

ее приближенные значения

{Д)Е=о-Тогда,

если погрешности

~k =

f(xiL) — fh (k=0, 1 , . . . ,

п)

носят

слу­

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

Подчиним интерполяционно-сглаживающую функцию

g(x)

следующим

требованиям:

 

 

 

 

 

1) на отрезке [а, Ь] функция g{x),

а также ее

первые и

вторые производные непрерывны;

 

 

 

 

2) на каждом из отрезков

[x^-i, xk]

функция g(x)

являет­

ся полиномом третьей

степени

(кубическим

полиномом)

вида

 

 

3

 

(1 <

k < n);

(7.23)

ц (х) = gk (х)

= 2 at'

(Хк — хУ

3) g(x)

удовлетворяет граничным условиям

 

 

 

 

£ " ( f l ) = g " ( 6 ) = 0 .

 

 

 

(7.24)

Сравнивая сформулированные требования с требованиями на кусочно-кубическую интерполирующую функцию g(x) из предыдущего пункта, видим, что первые два условия совпа-

дают с условиями 1—2 из 2.7.1, а третье условие (7.24) сов­ падает с четвертым условием (7.3).

Аналогично случаю обычной интерполяции построим сис­ тему уравнений для определения 4п коэффициентов полинома

gh(x).

Из условий

1, 2 имеем

3{п—1)

уравнений:

 

gh (xh)

= gk+i

(Xh),

g'h (Xh) = g'k+i (Xh),

eh (xh)

= g'k+i (Xh) (7.25)

и из

условия

3 еще два

уравнения:

 

 

 

 

 

 

 

 

 

ч"і(а) = 0,

g",(6) =

0.

 

 

(7.26)

Подставляя

 

(7.23)

в

(7.25),

(7.26),

получим

систему

из

(3/г—1) уравнений:

 

 

 

;)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1=0

 

 

 

 

 

 

 

 

 

 

 

< ^

=

І

 

 

 

 

 

(7.27)

 

 

 

2аік )

=

І і / ( / - l ) a { f c + , ,

A j ; + 5

 

 

 

 

 

1

 

 

 

! =2

 

+ a i " =

0,

 

= 0,

 

 

(k =

 

n l),

Зя?,1*Л і

af

 

где hh — xh — xh-i (k—l,...,

 

 

n).

Отсюда

видно,

что для

од­

нозначного

определения

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

Wil))

нам нехватает

еще

( я - f l )

независимых

условий.

 

 

 

 

 

Для получения недостающих условий воспользуемся ва­

риационной

постановкой

 

задачи

нахождения

интерполирую-

ще-сглаживающей функции, а именно: потребуем, чтобы функция g(x) была решением задачи

ь

 

п

 

 

Ф і М = J (ST d x +

?

№ [" Ы fh]2 = mla,

(7.28)

где {р/г}й=о положительные числа. Иначе говоря, g(x)

долж­

на удовлетворять

соотношению

 

 

Фг(§)=

mln Фг(и).

(7.29)

 

 

не(о,&)

 

Величины {pi,.}h=.o

позволяют

управлять процессом сглажива-

Н Г Я В ЗаВИСИМОСТИ ОТ ВеЛИЧИН П О Г р е Ш Н О С Т е Й {Sh}h=o или их

распределения, если такое распределение известно хотя бы приближенно.

Выберем произвольную функцию

И ( Х ) Ё ^ ( Й , Ь)

и рас­

смотрим

величину Ф\(и — g ) . После

несложных

преобразова­

ний

типа

(7.19)

получим

 

 

п

 

 

 

 

 

Фі (u-g)

= Фі (и) -

 

(g) -

2

Л

(X») - g (xh ) j ,

(7.30)

Фг

2

где

 

 

 

 

 

 

к = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

— баз" +

P0 [g W

— / о ] ,

если

/г =

0,

 

 

 

— 6 [ а ? +

1 ) - а Н

+ р„ [g (xk ) - f t ] ,

если

а <

< n ,

 

64 П ) + Pn fg (*„) — / ~ ] ,

если

/г = п.

 

 

(7.31)

Из

(7.30)

видно, что

неравенство

 

 

 

 

 

 

 

 

 

Ф і ( г ) < Ф і ( и )

 

 

 

(7.32)

выполняется для любой функции иE:W\ (а, Ь), если коэффи­ циенты {Cfc}ft=o равны нулю. Удовлетворяя это требование, получаем дополнительные (п+1) условий

С Л = 0

(k=0,

1 , . . . , /г),

(7.33)

замыкающих систему

(7.27).

 

 

 

 

Объединяя (7.33)

и

(7.27), получим

окончательную

систе­

му An уравнений от i n

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

 

 

аУ = оГ "Аін +

*?+1)hl+1

+

аГ1

V i +

(7.34а)

а</" = 3a[k+%l+l

+

2a?+l%+l

 

+ аГ",

(7.346)

a2") = 3ari ) nf t +i+4f e + 1 ) .

(7.34B)

а Г И , - ^ = ^ К - ^

(7.34г)

(ft=i

 

і);

 

За?'Ax +

а"' =

0.

(7.35a)

4n) =

0,

 

(7.356)

4" = $ [аі1}ЛЇ + Л *

+ Л

+ а?» -Го] і

(7.35B)

4 n ) = - ^ K n ) - 7 J -

(7.35г)

Преобразуем построенную систему посредством исключе­ ния некоторых неизвестных. Сначала, используя уравнения (7.34в) и (7.35а), имеем

$ = ~ Ч А

~

( * = ! , . . • , « ) .

(7.36)

где для единообразия записи введена величина

а2 0 ) =

О- Да­

лее из уравнений

(7.34г)

и (7.35г)

получим

 

 

 

 

 

 

Pi,

-П„

 

(А =

1.

.,

п),

(7.37)

 

 

 

 

 

 

 

 

 

 

 

где также

введена

величина аз"+ 1 > =

0.

Объединяя

(7.36) и

(7.37), приходим

к уравнениям

 

 

 

 

 

 

 

 

 

 

« 2

« 2

 

 

 

 

 

 

 

" о

 

 

 

 

 

'fc+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П —

1),

 

 

 

(7.38)

 

 

 

 

7 (п —1)

_

<Л)

 

 

 

 

 

Первые

( п — 1 )

из записанных

уравнении

с

учетом пред­

положения

° 2 0 ) =

0

1 1 условия

о2 п >

= О

можно

переписать в

матричном

виде:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ч>=Дф-Н

 

 

 

 

(7.39)

Здесь использованы обозначения ф, ф, f для векторов раз­

мерности (п—1)

с

компонентами

foof t , }ft=j,

{ " " ' ' I t } ,

 

соответственно и

 

 

 

 

 

 

 

 

 

 

 

 

В = РН

 

 

(7.40)

для трехдиагональнои матрицы, где

 

 

 

 

 

 

1

0

0

о

о

 

 

 

 

 

 

 

 

Р.

 

 

 

 

 

 

Р =

2

0

Pi0

о

о

(7.41)

 

 

 

0

0

0

о

1

 

 

 

 

Jn-\

 

 

 

 

 

 

 

 

 

—диагональная матрица и

 

 

 

 

-Л, +^ Л 2

 

 

] _

0

 

о

о

 

 

 

 

 

 

J _

- L - + - - L

 

о

о

 

 

 

(7.42)

 

А ,

^

Аз

 

 

 

 

 

 

 

 

о

 

о

о

 

1

1

 

 

 

'*п-1 \

" л - 1

 

 

 

 

 

 

 

 

—трехдиагональная симметричная матрица.

Продолжая процесс исключения из (7.34а) и (7.35в) при участии (7.36), (7.37), получим

/7№> „(h-l) _

(ft)

и

2, ... п),

'1к

° - - ^ f ( 2 a f + 4 " - " ) (/е =

 

 

 

(7.43)

 

 

К \ пП) 4-

А

Далее, заменяя в уравнениях

hk+i

[af + а?+1))

+ а*

- a\h) = О (А = 1, . . . . л - 1).

 

 

 

(7.44)

которые возникают при подстановке {a^'liUi из (7.36) в

(7.346), значения {ai'l ) }fe= i по формулам (7.43), приходим к системе

 

 

4~ [л* af~l)

 

+ 2 (h„ +- h h + 1

) а2к) -4- Л,! + 1 Й2 "+ , ) ]

+

•+-

(ft) _

(Л + 1)

 

" о

а 0

=

0

{k — 2,

п— 1),

 

" о

 

" о

 

 

 

 

 

 

 

 

 

'fc+1

 

 

 

 

 

 

 

 

 

 

2 ( _ 3 _ + л! + ns j a,1 ' +

 

(7.45)

 

 

 

+

 

 

 

 

+

„ П ) _ - < 2 )

 

а (1)

_

 

 

 

 

a 0

<^0_

_ j _ а 0

 

 

 

 

 

Ло

'

Л,

 

А,

 

Теперь, если учесть, что

ck ' =

0

и

 

 

 

 

 

 

" о

" 2

 

 

°2

+ 7»:

 

 

 

 

Рп

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

то система

(7.45)

в матричной записи принимает вид

 

 

 

 

 

 

Sep 4- Hty =

w,

 

(7.46)

где

2 (a -Ь ft, +

fto)

2

0

 

 

О

О

 

 

 

 

 

/г,

 

2 (h2

+ h3)

h3

 

 

О

О

 

 

 

 

 

 

0

0

 

 

п„_! 2 ( р + А „ _ , + М !

 

 

 

 

 

 

 

 

 

 

 

(7.47)

— симметричная трехдиагональная матрица порядка ( я — 1 )

 

з

 

3

 

с величинами а =

— —

и В =

5 - , матрица Я определена в

(7.42), w — вектор

размерности

( я — 1 )

с компонентами

 

 

если

k = 1,

 

 

О,

если

1 <[ /г <

и — 1,

 

 

если

£ = я — 1,

а векторы т]> и ф определены выше.

Окончательно,

если воспользоваться

(7.39), получим

систему

 

 

uq> =

F ,

 

 

(7.48)

где

 

 

 

 

 

 

 

 

 

 

А =>

НВ = ~^S+ НРН

 

 

(7.49)

 

 

F = w-Hf.

 

-

 

(7.50)

Компонентами

вектора f будут

величины

 

 

 

? * =

Ц

Г ^ - ^ Г ^

± - '

(й =

1 , 2 , . . . , я - 1 ) .

 

(7.51)

Нетрудно видеть, что матрица А является

суммой

двух

симметричных

и положительно

определенных

матриц

НРН и

-|-5. Положительная определенность S устанавливается не­

посредственной

проверкой,

поскольку

S—якобиева и

с

диа­

гональным

преобладанием.

Отсюда

следует,

что матрица А

симметрична и в силу ее положительной определенности не­ особенна. Это означает, что коэффициенты [a{zh)}k=i опреде­ ляются однозначно. Теперь, учитывая, что остальные коэф­

фициенты

{0м,

а[к>, аз°}й=і вычисляются через {2к)}к=1

по

формулам

(7.33), (7.36) и (7.43) также однозначно,

прихо­

дим к выводу

о существовании и единственности решения

рассмотренной задачи

о

построении интерполирующе-сгла-

живающей кусочно-кубической функции

g(x).

 

Изложим для частного

случая ри=Р

(k—0, 1 , . . . ,

я) ме­

тод решения системы (7.48), которая

принимает вид

 

=

( ^ 5

+ ^ - Я 2

) Ф =

Р.

(7.52)

Сначала

вычислим

элементы

{4,/}і!,/=і

пятидиагональной

матрицы

Г = Я 2 :

 

 

 

 

 

 

 

 

 

 

 

 

+ + ^' е с л и k = l'

 

 

 

 

 

Чік

 

 

 

 

 

 

 

 

е с л н 1 < * . < л - 1 .

 

 

 

 

1- -г—

+

- т

,

ЄСЛИ

ft =

га —

1

 

 

 

 

1-і

"« /

A„_i

 

 

 

 

 

 

 

 

 

 

 

 

( А = 1 , . . . . , 1 - 1 ) ;

 

 

 

 

fc.ft+1 = - ( т - +

Т ^

+

Т ^ )

т

^

(^ =

1 , . . . , л - 2 ) ; (7.53)

 

 

^ М + 2 = Й

 

1;

(ft =

1 , . . . , га 3);

 

 

 

 

 

ftft+l

"ft+2

 

 

 

 

 

 

 

 

 

 

 

=

^i-i,fc

(ft =

2 , . . . ,

/г — 1);

 

 

 

 

£ь,(<—2 =

tk—2,k

(ft =

3 , . . . , га — 1).

 

 

Все остальные элементы

матрицы

Т равны нулю, т. е. tk<i=

О,

если |ft — /| > 2 ,

(ft, / = 1 , . . . ,

га1). Теперь,

если матрицу

А

определить соотношением

 

 

 

 

 

 

 

 

 

 

 

 

 

di

 

0

. . .

 

0

0

 

 

 

 

Сх

 

 

 

.

d2

. . .

 

0

0

 

 

А

=

Сі

 

 

с3

. . .

 

0

0

(7.54)

 

 

 

 

 

 

 

 

 

 

 

 

0

0

 

0

 

0

. . .

Ьл—г

Сп—2

 

 

 

 

0

0

 

0

 

0 . . .

C n _ 2

Ьп-l

 

 

то ее элементы будут вычисляться по формулам:

1

1

1

 

^

l )

+ T t h

' k '

 

 

 

 

з

{~k

+

Е С

Л И

1 < * <

« - 1 .

і

/

 

з

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(7.55)

 

 

 

 

1

,

2 .

 

 

(ft =

l , . . . ,

га-2);

 

 

 

 

 

 

 

 

 

 

 

 

dfc

=

- у

h,k+2

(ft

=

1,..., га —

3).

7 Г. И. Марчук

 

 

 

 

 

 

 

 

97

Для решения системы (7.52) можно использовать прямые и итерационные методы. В большинстве случаев для решения таких систем удобно использовать хорошо разработанные пря­ мые методы решения систем алгебраических уравнений, осно­ ванные на методе исключения Гаусса (см. 3.8).

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

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

Кратко остановимся на вопросе выбора величин {p/J/Uo.

которые

участвуют

в процессе, но,

кроме

положительности,

на них

не наложено

никаких требований. Предположим, что

в некоторых точках

сетки

 

ATJ,,

Xh„,

значения

функ­

ции f(x)

вычислены

точно, Т. Є. f[Хк,) = fh{

(' =

1,

гп).

Тогда, полагая

д і

== 0(рк-

=

со), из

соотношений

(7.38)

полу­

 

 

 

v

 

'

 

 

 

 

 

чаем

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

g(Xki)=Tki

 

(i =

l , . . . , m ) .

 

 

 

В частности, при - j -

= 0

(k — 0,1,...,

п)

мы

приходим

к за-

даче интерполяции кусочно-кубическими функциями, причем

система (7.48) будет полностью эквивалентна

системе (7.12).

Из сказанного следует, что чем точнее вычислено значение

І(х) в точке .vft, тем

больше должна быть

величина

ph

( О ^ А ^ п ) .

Это позволяет учитывать неравномерность

рас­

пределения

ОШИбкИ 6ft =

/ (Хк) /ft (k — О , 1 , . . . , « ) .

 

Более

полные

рекомендации

 

о

величине

 

параметров

{р/<1й=о

можно

дать

лишь

после

некоторого

числа

экспери­

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

решения

системы

 

(7.48)

в

зависимости

от

правой

части

и

поведения

значений

величин

[pk}k=*a-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

функций двух переменных

 

 

 

 

Проблема двумерной интерполяции с помощью

кусочно-

бикубических функций была предметом исследований Альбер­

та, Нилсона, Уолша m i

,

Ю. С. Завьялова1 1 4 1

и других. Нами

будет кратко рассмотрена лишь следующая модельная задача.

Пусть

D— {х,

у : a^.x^.b,

 

c^y^.d}

некоторая

прямо­

угольная область. Построим в D

сетку Dh—{xk,

уг:

a=xQ<i

< * i <

. • • п=Ь,

 

с = = / / о < У і <

• • • <.ym

= d).

При этих пред­

положениях задача кусочно-бикубической интерполяции функ­

ции f(x,

у),

заданной

в точках

D/u

заключается

в

построении

функции g(x,

у),

 

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

условиям:

 

 

 

1) g(x)E=C(2)

 

(D),

т. е. дважды

непрерывно

дифференци­

руема;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2) в каждой из ячеек сетки

g(x,

у)

является

бикубиче­

ским

полиномом

вида

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g

(х,

у) ^gkj

{х,

у) =

І

a f t 0 (х„ -

xY (Уі

-

уу

(7.56)

 

 

 

 

 

 

 

 

 

 

і.7"=0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( 6 = 1 , п ;

 

 

1=\,...,т);

 

 

 

 

3)

для всех O ^ f t ^ n

и

 

 

 

выполняется

равенство

 

 

 

 

 

 

 

 

 

g(xh,

у,)

=

fk/-

 

 

 

 

 

(7.57)

4)

функция g(x,

у)

 

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

граничным

условиям

 

 

 

 

 

 

 

 

 

Й £

=

0,

 

 

 

 

 

 

(7-58)

где v — нормаль к границе

0D.

 

 

 

 

 

 

 

 

 

Решение сформулированной задачи существует, единствен­

но и в то же время является единственным решением

следую­

щей

вариационной задачи:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тчт1

dD =

m i n

,

 

 

(7.59)

 

u(xk,

 

Уі) =

/ м

 

 

(/? = 0 , 1 , . . . ,

n ; /

=

0 , 1 , . . . ,

m).

Иначе говоря, требования 14 — необходимые условия, кото­ рым должно удовлетворять решение задачи (7.59).

Соседние файлы в папке книги из ГПНТБ