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

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

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

,ii,! =

J dx j "

dy

«J

[y)

J 0 f c _ ,

(x) <o/( (*)

 

 

 

 

li1

 

 

 

 

k—i

 

 

 

 

 

 

 

 

 

"1-У

 

 

 

 

 

 

 

 

 

-j-a„(x)

a? (#)J = —-g-

 

 

 

 

 

а-кл

: j

Лс

J

 

- 1 - <»,(?/ ) C O ; _ i ( f / )

 

— -j-r«>h (X) u)ft _ i

( x ) —

CO,, (X) CO, ( # ) £ 0 г _ і ((/ )

 

у

-

4

(5.306)

 

 

 

"/+1

 

 

 

 

 

 

 

*°/H-i

 

 

"ft (*)ы , (У)M ; + l t y

)

 

 

 

_Л_.

3

 

 

 

 

 

 

 

 

1 2 '

 

"з~ + Х ' а " ' '

 

_

Т +

І

2

'

(5.30в)

 

 

 

 

 

 

 

 

 

 

 

 

-

4 " + Т5-

(*'"

^ f ) є £

> л

-

 

 

Таким образом, оказывается, что построенная вариацион­ но-разностная схема при f(x, < / ) = / = c o n s t эквивалентна не­ сколько необычной разностной схеме

8

1

1

/ I

А \

"д - «М

g~ Uh,l — 1 g" «ft,(+ l

I -g— + " у I

~ ("F +

_

( 4 " + "fV) "fc - M +i _

(T_ 4 " ) "*+>•' ~

frrj "b+i,'—і ^

Hp)

= ^7- (5.31)

Эту разностную схему легко построить с помощью обычных трехточечных аппроксимаций вторых производных, если пред­ варительно в узлах Dh заменить дифференциальную часть уравнения (5.26) на приближенную следующим образом:

дх* dif дх

ft-t-i

 

У ^ - І [ щ х = Х І

+

У

Р / - Д Л ? " ' Л Г ] * = * * ,

( 5 . 3 2 )

+

где

P-i = Pi = l . Р о = 4 и (xk, yi)<=D\

2.6. ВАРИАЦИОННЫЕ МЕТОДЫ Д Л Я МНОГОМЕРНЫ Х ЗАДАЧ

Кратко остановимся на возможных путях конструирования вариационно-разностных схем для многомерных задач, когда число независимых переменных больше двух.

2.6.1. Способы построения подпространств

Предположим, что в пространстве трех переменных х, у и z задана ограниченная область D с кусочно-линейной гра­ ницей 3D. Для этого случая наиболее известный способ по-

о .

строения подпространств/7 /, с : W2 (D) заключается в следую­ щем. Сначала осуществляется пространственная триангуля­ ция области, т. е. D покрывается конечным числом непересе-

N

кающихся трехгранных пирамид Д„ так, чтобы D = U Ая .Если максимальную длину ребер пирамиды Af e обозначить Ля , то

можно легко

построить

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

кусочно-полиномиальных функций, определяемых

параметром

/ i = m a x

hh.

Определяются

такие

пространства

аналогично

Kh<N

 

и двумерному случаям (см.

2.4 и 2.5.1). Про­

одномерному

иллюстрируем это на примере кусочно-линейных

аппроксима­

ций, когда область D—{x,

у,

г: 0 < х < 1 ,

0 < г / < 1 ,

0 < z < l }

является

кубом.

[0,

1]

на

равные

отрезки

точками

Разобьем

отрезок

0 = £ o < £ i < -

• . < £ „ + ! =

!, где

lh=Al-k

= - ^ p - [ j - Затем

область D покроем одинаковыми элементарными кубами со стороной Д£, для чего нужно найти пересечения D с плоско­ стями

* = 5 « , £/=£«, z=lh (k=0,

1, . . ., n + 1 ) .

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

элементарного кубика со стороной

Ag. Триангуляцию можно

осуществить различными способами. Один из них показан на рис. 10, где кубик предварительно разбит на две призмы.

Рис. 10.

€ Г. И. Марчук

81

Таким образом, каждый элементарный кубик можно пред­ ставить как объединение шести пирамид, причем длина мак-

«шального ребра пирамиды равна // = ] / З А ё = ^ _|_t - Про­ делав такую триангуляцию, для всех кубиков получим, что область D будет полностью покрыта Л ? = 6 - ( / ? + 1 ) 3 пирами­ дами. Пространство Fh строится следующим образом. В каж­ дой пирамиде АЛ строится полином вида

gk{x,y,z)=v

 

 

v

C*iMiX*>ybj>

( 6 Л )

 

 

'---О іі-|-і3+із=І

 

 

так, чтобы функция

 

 

 

 

 

 

 

(g1

{х,

у,

г),

если (х, у,

z) Є

Дг ,

g (х,

У, г) =

 

 

 

 

 

(6.2)

 

gN

(х,

у,

г),

если (х, у,

г) є

AN

принадлежала

пространству

\V\ (D), т. е. имела

суммируемые

с квадратом первые производные и обращалась в нуль па границе. Чтобы обеспечить выполнение этого условия, доста­ точно потребовать непрерывность кусочно-полиномиальной функции g и ее обращение в нуль на дЬ.

В случае кусочно-линейных функций

 

gh (х, у, 2 ) =

Со, о, о + С?, о. О х + Со. ,. о у •+ Со, о, 1 2

(6.3)

непрерывность g(x,

у, z) выполняется, если, например,

опре­

делить коэффициенты функций gh через значения g в верши­ нах соответствующей пирамиды Af t . Иначе говоря, нам доста­ точно потребовать, чтобы в вершинах пирамиды Af t функция gh принимала строго заданные значения.

Описанный подход является достаточно универсальным и может быть применен для областей с более общими граница­ ми. Однако алгоритмически даже для простейших областей он весьма сложен. Ниже мы остановимся еще на одном спо­ собе конструирования подпространств Fh, который для мно­ гомерных областей специального вида представляется нам предпочтительней первого.

Пусть D — область р-мерного эвклидова пространства, ко­ торую можно представить в виде объединения конечного чис­

ла р-мерных

прямоугольных параллелепипедов {Dv},

и

пусть

D = {Xi'Mi^Xi

< ; 6І, і = 1, . . . , р)

параллелепипед

с

мини­

мальным объемом, содержащий D

(предполагается,

что сто­

роны А>параллельны координатным гиперплоскостям). Тогда

для каждого

 

 

па отрезке [а,-,

Ь{\ оси

переменной xt

можно

построить

сетку

 

 

 

 

 

 

 

 

 

 

 

 

CLi =

А'і, о <

Хі,

і <

. - - <

А\

N <

<

X j ,

 

l =

6i

(t =

1, - - -

P)

и определить

сетку

Dh

как

совокупность

точек

х/(

= ( х 1 і й | >

x2ih„

Л'р,;l p j, принадлежащих

области

 

D (1^/г,-^Л^,-

для

( = 1 , •

• • ,

р).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если теперь на каждой одномерной сетке ввести набор од­

номерных базисных

функций

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Xi,h

 

 

-,

ЄСЛИ

ХІ

Є

І^І-І,

Xi,hi]

,

 

 

 

 

 

\ ~ Xi,l'j —1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Є

 

 

JC,-,fcE 4-i

,

(6-4)

 

 

 

 

l u 4

 

 

 

ЄСЛИ

А'і

 

A " j , / 4 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

^

0

 

в

противном

случае

 

 

 

 

 

 

 

( £ , • = ! , . . . , Л';; 1 ^ / < р ) ,

 

 

 

 

то систему

функций

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

р

 

 

 

 

 

 

 

 

 

 

 

 

 

(6.5)

g u

(х)

=

П

R i A .

(хі),

(xk

Є

D

',

к =

 

 

2,

.. ., /еи))

можно

выбрать

как

базис пространства кусочно-линейных

функций Fi, С

U 7 2 ( D ) . Для случая двух

переменных

( р = 2 )

та­

кой подход достаточно полно рассмотрен в предыдущем па­ раграфе.

2.6.2.Покоординатные методы построения вариационно-разностных схем

Описанные выше приемы построения подпространств F h и самих вариационно-разностных схем для многомерных за­ дач очень сложны в реализации. Сюда относятся выбор ба­ зисных функций (первый способ предыдущего пункта), рас­ чет ненулевых элементов матрицы системы и т. д. Эти труд­ ности могут быть преодолены, если совместить в одном мето­ де и вариационный и обычный разностный подходы. Конечно, в этом случае система сеточных уравнений уже не будет стро­ го разностной или вариационно-разностной, но их совмещение в ряде случаев позволяет ослабить требования одного подхо­ да за счет использования элементов другого подхода. Про­ иллюстрируем сказанное на примере р-мерного уравнения эл­ липтического типа.

 

Пусть дано уравнение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

і = 1

 

 

 

'

 

 

 

 

 

 

в ограниченной области D с границей 3D. Рассмотрим

для

него первую краевую

задачу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и =

0

па

dD.

 

 

 

 

(6.7)

В

случае, когда

и область D не относится

к областям, і

рассмотренным

нами

или

к тем, для

которых

можно

легко

построить

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

 

подпространств

 

о J

 

 

F/, С W2

(D),

предлагается следующий

способ

совмещения разностного

и

вариационного

подходов.

 

 

 

 

 

 

 

 

 

 

 

 

Введем

в области

D

некоторую

прямоугольную сетку

 

Dh,

образованную пересечением области D с множеством гипер­

плоскостей,

параллельных

координатным

плоскостям.

Узлы

Dh

обозначим через

x h

=

(-ХІ.Л,,

х2,і,.,, .. .,xp<hp)-

Систему

се­

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

задачи

(6.6),

(6.7) во

всех узлах

сетки

Dh,

а

сами

аппроксимации

будем

строить

с

помощью

одномерных

вариационно-разностных

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

 

 

Если

нам нужно

построить

аппроксимацию

задач

(6.6),

(6.7) в точке xh<=Dh,

мы

сначала

записываем

уравнение

в

виде

 

 

р

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

дх. Р{

(х ) л7.

А

= 0,

 

 

(6.8)

р

где 2 A = /• Затем для каждого из членов суммы (6.8) строит-

ся вариационно-разностная схема вдоль соответствующей пря­ мой Xi (l^Li^Zp), после чего одномерные схемы складывают­ ся. Иначе говоря, если аппроксимация производится в точке ХЙ, то сеточный аналог (6.8) имеет вид

i ( L { V - t f ) = 0 ,

.(6.9)

где (Lih)uh — /І) вариационно-разностный

аналог слагае­

мого

 

вдоль отрезков оси переменной xi. Способы построения вариа- Ционно-разностных схем для одномерных операторов детально разобраны в 2.3, 2.4.

Проиллюстрируем предлагаемый подход на примере ку­ сочно-линейных приближений, когда область D является

р-мерным единичным кубом с равномерной сеткой Dh{h-= ^ ^_t j . Из 2.4 и (6.9) следует, что система сеточных уравнений для

уравнения (6.8)

имеет вид

 

 

 

•р 2 [ - р ' ч - і / 2 " ! н - і + [рЧ-т

+ Pkl+m)

"fc. -

 

- P k , + l / 2 U f t 1 + l ] - ^ t = 0 ,

(6.10)"

 

хЛ<=А,.

 

 

Здесь использованы обозначения

( І ^ л ^ р ) :

 

ы я ; -1-а =

(Л 'к,. • • •>

*s ; - fa> x h i + l , • • •, -^hp)

 

( а = 0 ,

+ 1 ) ;

 

(6.11)

2.7. ИНТЕРПОЛЯЦИЯ РЕШЕНИИ(a = ± 1/2)РАЗНОСТНЫХ. УРАВНЕНИЙ

СП О М О Щ Ь Ю СПЛАЙНОВ

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

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

Алгоритмы интерполяции функций по точным данным, оп­ ределенным на дискретном множестве точек, как правило, ос­ нованы на использовании интерполяционных полиномов Лаграижа. При этом относительно интерполируемой функции Ф(А') вводится априорное предположение о том, что она обла­ дает производными до некоторого порядка.

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

В последние годы теория интерполяции обогатилась новы­ ми методами, получившими название сплайновых интерполя­ ций. Следует отметить, что сплайном обычно оказывается оп­ ределенная в области D функция, которая в окрестности лю­ бой внутренней точки области представляет собой полином некоторой степени т. Кроме того, эта функция, как правило, непрерывна в области D вместе с производными до т— I по­ рядка и имеет интегрируемую с квадратом производную по­ рядка т. Наиболее употребительными в технике явились сплайны — полиномы третьей степени.

Методы интерполирования функций с помощью сплайнов подробно освещены в исследованиях Холидея1 1 4 1 , Уолша, Аль­ берта и Нилсона[ 1 4 ] , Шенберга1 1 4 1 , Анселона, Лорана 1 1 4 1 , 10. С. Завьялова1 1 4 1 . Обобщение теории сплайновой интерпо­ ляции дано в работах Биркгофа, Шульца, Варги1 5 1 , Варги1 1 1 и других.

2.7.1. Интерполяция функций одного переменного

Пусть

на отрезке [а,

Ь] вещественной

оси х

задана сетка

a=xQ<zxi<.

... <Схп=Ь,

в узлах которой заданы значения

{/ft}2=o

функции f(x),

определенной на

[а, Ь].

Тогда задача

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

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

обра­

зом. На отрезке [а,

Ь] необходимо найти функцию g(x),

удов­

летворяющую требованиям:

 

1) g(x) принадлежит классу С<2) (а, Ь), т. е. непрерывна вместе со своими производными до второго порядка включи­ тельно;

2) на каждом из отрезков [xh-i, xk] является кубическим полиномом вида

 

 

 

 

 

 

з

 

 

 

 

 

 

 

 

 

 

 

 

? W

= g'<M =

 

S " ! " ( t t - ^

 

(k =

l,...,n);

(7.1)

 

 

 

 

 

;=о

 

 

 

 

 

 

 

 

 

 

3)

в точках сетки

 

{Xh}h=o

выполняются

равенства

 

 

 

 

 

g(Xh)=fh

 

 

 

( k = 0 , l , . . . , n ) ;

 

(7.2)

4)

g(x) удовлетворяет граничным

условиям

 

 

 

 

 

 

 

 

 

§"{a)=g"(b)=0.

 

 

 

 

 

(7.3)

Достоинство выбранной нами интерполяции будет понятно

в дальнейшем,

когда

 

мы установим

естественное экстремаль­

ное свойство определенной функции

 

g{x).

 

 

 

 

Покажем, что поставленная

задача

на нахождение

интер­

полирующей кусочно-кубической функции

g(x)

имеет

единст­

венное решение. Для этого воспользуемся

сформулированны­

ми выше условиями 1—4.

 

 

 

 

 

 

 

 

 

 

Из

непрерывности

g(x)

и ее первых двух

производных

в

узлах сетки получаем первые 3(п—1)

 

уравнений:

 

 

 

 

gh+i

(Xk) =

 

gi< (Xh);

g'k+l

(xk)

=

g'h (xh);

 

(7

4)

 

 

g"k+l

(Xh) =

g"h (Xh)

(k

=

1,

. . .,

n —

1).

 

 

Отсюда,

используя

следствие

 

 

 

 

 

 

 

 

 

 

 

 

floh)=^

 

=

1, •••,«)

 

 

(7.5)

условия

(7.2) и представления

 

(7.1),

имеем

(Зп—2)

урав­

нения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= ар hi +

ai?>hl +

а [ % + /„

 

(k = 1, . . . , п),

 

 

 

 

 

а[к-1)

 

= За^КІ

+ 2af%

+

af\

 

(7.6)

 

 

a?~»

=

За?1/!,, +

a[h)

 

(k =

2, 1. ., n),

 

 

где hk=Xh—Xh-i

(k=\,

...,

n),

для нахождения Зп неизвест­

ных \af \ a2k), a3 h ) ]" i = i .

 

Замыкают систему

(7.6) два уравнения

 

 

 

За$\+а2]

= 0 ,

a 2 n

) = 0 ,

 

(7-7)

вытекающие из (7.3) и (7.1).

 

 

 

 

 

 

 

 

 

Несложные

преобразования

(7.6),

(7.7) дают

 

 

 

 

=

" " ' " ' з ; " ^ '

 

(й -

1

 

п),

(7.8)

где

для

единообразия записи

введена

величина

= 0

и

а?

= -

l > a * - ' + 2 a f ) + -

H p -

(ft = 1, . . . .

n).

(7.9)

Подставляя теперь (7.8) и (7.9) в условия непрерывности пер­

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

g(x)

(вторые уравнения

(7.6)),

имеем

где

[hkaf~l)

+

2 (Ая + Afc+0 a2h)

+ A„ + 1 a 2 " + I >]

=

Fk,

(7.10)

 

 

 

 

 

 

 

 

 

 

 

 

 

/'л

=

3

 

 

 

Лh+1

 

(ft = 1,

 

n — 1) .

(7.11)

 

 

 

 

 

 

 

 

 

 

 

 

 

Используя

предположение

a2 0 )

= 0

и

условие

a 2 " ' = 0 из

(7.7),

систему

(7.10),

(7.11) можно

записать

в

матричном

виде

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Aq>=F.

 

 

 

 

 

(7.12)

Здесь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

||2 (hi +

A.)

hi

 

0

. . .

0

 

0

 

 

 

 

 

 

Аа

 

2 (А2 + А3) А3

.. . 0

 

0

 

 

 

 

 

 

0

 

О

 

0

 

Ая _, 2(А„_,

+ А Я )

— трехдиагональная

матрица

порядка

(п — 1), а

ф =

=

(о"1 ,

o 2

n _ I ) ) ' 1 1

F =

(Fi, . .

. ,

F n - \ ) ' —

векторы

раз­

мерности n — 1.

 

 

 

 

 

 

 

 

 

 

 

Так как матрица А симметрична и со строгим диагональ­

ным

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

то легко

убедиться,

что

(Лф,

ф ) > 0 ,

откуда и следует ее положительность. Отсюда вытекает, что

коэффициенты ja^'lfUi

и,

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

(см. (7.5),

(7.8),

(7.9)), коэффициенты

0Л)>

a|ft)> а з'г ! }й=і

определяются

од­

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

Для численного решения системы (7.12)

очень

удобным

является обычный метод (см. 3.8), формулы которого

для на­

шего случая имеют вид

 

 

 

 

 

— /г.,

если ft =

1,

 

 

 

2 (A, - I - hi)

 

 

Pft =

 

 

 

 

Аft-M

, если 1 <

ft < я ,

 

 

 

 

2 ( A e + A n + i ) + A f t P f t _ i

 

2 (A, + lu) -,

если ft =

1,

(7.13)

Zh —

 

,

если 1 < ft <

re,

2(Af c + A f c +

, )

+ M f e - l

 

 

Zn—l, если ft = ft—

1,

 

p V 4 h " M )

+

2ft, если

1 < f t < ft- 1.

 

(ft)lл

После вычисления (a2 f e > }fc=i коэффициенты {a(o \ a i h ) > a<j7 j h = 1 определяются по формулам (7.5), (7.9) и (7.8) соответственно.

Теперь нам остается выяснить вопрос, почему кусочнокубическая интерполяция оказывается эффективной на прак­ тике. Нетрудно показать, что обычная кусочно-линейная ин­ терполяция

 

Igi (х),

если

х Є 0,

Хх],

 

 

\g2(x),

если

j t e k , ,

Хо],

(7.14)

 

 

 

 

 

 

 

 

\gn(x),

если

х є к _ і ,

хп]

 

сеточной функции f(xh)=fh

( f t = 0 ,

1 , . . . ,

/г), где

 

 

Xh X

 

х X і.

 

 

gk (JC) = / f t -

*ft—1

+

/ft

 

l f t - l

(7.15)

 

 

h-1

 

 

 

 

 

 

является

решением вариационной

задачи

с

ограничениями

 

ь

 

 

 

 

 

 

 

'da V dx =

mln ,

 

 

 

 

dx

 

Wo(a, ы

 

 

 

 

 

 

 

 

 

 

" ( * * ) = f f t

( f t = 0 ,

1 , . . . ,

 

ft).

(7.16)

Иначе

говоря, функция g(x) из

(7.14),

 

(7.15) является ре­

шением задачи (7.16) в классе функций, имеющих суммируе­

мые с квадратом первые

обобщенные

производные. Такие

функции обычно называют

с п л а й н а м

и*'.

Учитывая отмеченное обстоятельство, представляется це­ лесообразным для построения более гладких интерполяций рассмотреть вариационные задачи с производными высших порядков. Сюда, в частности, относится задача

ь

 

 

 

І V

7

№-|(Q, 4) •

(7.17)

ll(Xk)=fh

(ft =

0, 1 , . . . , ft),

 

*) Именно в связи с решением этой задачи, соответствующей в теории упругости принципу минимума потенциальной энергии, и возник термин spline (в переводе «брусок», «рейка»).

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