You are on page 1of 11

Глава 2.

ДИФЕРЕНЧНИ МЕТОДИ ЗА ГРАНИЧНА ЗАДАЧА ЗА


ОБИКНОВЕНИ ДИФЕРЕНЦИАЛНИ УРАВНЕНИЯ ОТ II РЕД

В природата се различават два типа процеси: стационарни (които не се


изменят във времето) и нестационарни (които се изменят във времето). Погледнато в
по-широк план, в природата всичко се мени, но с различна скорост. Ако
разглежданият процес в даден интервал от време се мени много бавно, то може да се
приеме, че той е неизменен. В курса по числени методи за диференциални уравнения
ще разглеждаме диференциални уравнения, описващи както стационарни, така и
нестационарни процеси. Ще започнем с най-простото – едномерното стационарно
уравнение на топлопроводността.

§ 8. ИЗВОД НА ЕДНОМЕРНОТО СТАЦИОНАРНО УРАВНЕНИЕ НА


ТОПЛОПРОВОДНОСТТА. ГРАНИЧНИ УСЛОВИЯ

Нека имаме прът с дължина l , който е толкова тънък, че температурата във


всички точки от дадено напречно сечение да е една и съща. Нека в краищата му се
поддържат постоянни температури: u x =0 = μ1 , u x =l = μ 2 , μ1 > μ 2 . Интересуваме се
от разпределението на температурата в пръта. Това разпределение може да бъде
описано с функцията u(x ) , която представлява температурата на пръта в сечение x .
Нашата цел ще бъде да намерим уравнението, което функцията u(x ) удовлетворява.
Основна характеристика на средата, която се използва при математическото
описание на разпространението на топлина, е коефициентът на топлопроводност,
който ще означаваме с k . Той отразява различната способност на телата да
провеждат топлината навътре в своята маса. В най-простия случай, т.е. когато
средата е хомогенна, k = const. Ако средата не е хомогенна, коефициентът на
топлопроводност зависи от пространствената променлива x , т.е. k = k (x ) . При
високи температури коефициентът k може да зависи от температурата на средата u ,
k = k (u) , а в някои случаи и от u ′ . Следователно в най-общия случай k = k ( x, u, u′) .
Ние ще разглеждаме само случая k = k (x ) .

Да формулираме най-напред физическите закономерности, които са свързани


с разпространението на топлината.

1) Закон на Фурие. Ако едно тяло е нагрято неравномерно, в него възникват


топлинни потоци, насочени от местата с по-висока температура към местата с по-
ниска температура. Количеството топлина Q (x ) , която протича през единица площ,
се дава с експерименталната формула
Q( x ) = −k ( x )u′( x ).
Величината Q (x ) се нарича плътност на топлинния поток. Счита се, че потокът е
положителен, ако топлината тече в посоката на нарастване на x . Тогава
количеството топлина, което протича през сечение на пръта с площ S (x) , се дава с
формулата
Q1 ( x ) = − k ( x ) u ′( x ) S ( x ).

2) Нека вътре в пръта се отделя топлина от някакви топлинни източници,


външни по отношение на процеса. Отделянето на топлина в точката x може да се
характеризира с плътността на топлинните източници g (x) . В резултат от
действието на тези източници, в участъка от пръта ( x1 , x 2 ) се отделя количество
топлина, което се дава с формулата
39
x2

Q2 =
∫ g ( x) S ( x) dx .
x1

3) Ако процесът се характеризира с консуматори на топлина, чиято мощност


е пропорционална на температурата на пръта с коефициент на пропорционалност
r (x ) (при отделяне на топлина чрез околната повърхност на пръта, например), то
количеството топлина, което се отделя в участъка от пръта ( x1 , x 2 ) , се дава с
формулата
x2

Q3 =
∫ r( x) u( x) l ( x) dx ,
x1
където l (x) е обиколката на сечението на пръта в точката x .

Уравненията на математическата физика обикновено изразяват някакъв закон


за запазване на топлина, маса или някаква друга физическа величина. Уравнението
на топлопроводността се получава като се направи баланс на топлината в някакъв
участък от пръта ( x1 , x 2 ) . Като приложим закона за запазване на енергията, можем да
запишем равенството
x2 x2

− S ( x ) k ( x ) u ′( x ) x = x +
1 ∫ g ( x) S ( x) dx = −S ( x) k ( x) u′( x)
x1
x = x2
+
∫ r( x) u( x) l ( x) dx ,
x1
т.е. количеството топлина, което влиза през сечение x = x1 и количеството топлина,
което се отделя от източниците с плътност g (x) , излиза през сечение x = x 2 или се
отделя чрез околната повърхнина на пръта в участъка ( x1 , x 2 ) . Като преработим
последното равенство, получаваме уравнението на топлопроводността в интегрална
форма
x2 x2

S ( x ) k ( x ) u ′( x ) x = x − S ( x ) k ( x ) u ′( x ) x = x −
2 1 ∫ r( x) u( x) l ( x) dx = − ∫ g ( x) S ( x) dx .
x1 x1
Да приложим сега теоремата за средните стойности при интеграли. Получаваме

S ( x ) k ( x ) u ′( x ) x = x − S ( x ) k ( x ) u′( x ) x = x − l ( x ) r ( x ) u( x ) x = x Δx = − S ( x ) g ( x ) x = x Δx,
2 1 3 4

x3 , x 4 ∈ [ x1 , x 2 ] , Δx = x 2 − x1 .

Като използваме теоремата за крайните нараствания, получаваме

(S ( x ) k ( x ) u ′( x ) )′ Δx − l ( x ) r ( x ) u ( x ) x = x Δx = − S ( x ) g ( x ) x = x Δx ,
x = x5 3 4

x5 ∈ [ x1 , x2 ] .

В последното равенство разделяме на Δx и правим граничен преход при x1 → x ,


x2 → x :

( S ( x)k ( x)u′( x) ) − l ( x)r( x)u( x) = − S ( x) g ( x) , x ∈ (0, l ) .

40
Въвеждаме означенията p( x) = S ( x) k ( x) , q( x ) = l ( x ) r( x ) , f ( x ) = − S ( x ) g ( x ) .
В резултат, от последното уравнение получаваме уравнението
(1) ( p( x) u′( x))′ − q( x) u( x) = f ( x) ,
където p ( x ) ≥ p0 > 0 , q( x) ≥ 0 .
Уравнение (1) е едномерно стационарно уравнение на топлопроводността. То
има безбройно много решения. За отделяне на единствено решение, към него трябва
да се присъединят допълнителни условия – в случая гранични условия при x = 0 и
x = l . Те могат да бъдат различни в зависимост от температурните режими в двата
края на пръта. Най-често се разглеждат следните три основни типа гранични
условия:

а) на краищата на пръта е зададена температурата, която се поддържа. В този


случай говорим за гранични условия от първи род:
u ( 0) = μ1 , u ( l ) = μ 2 .

б) на единия край, например при x = l , е зададена стойността на топлинния


поток (гранично условие от втори род):
Q
− p ( x ) u ′( x ) x =l = Q , т.е. u ′(l ) = μ 2 , където μ 2 = − .
p x =l
Ако Q = 0 , то десният край на пръта се нарича топлоизолиран.

в) на единия край на пръта, например при x = l , е зададен топлообмен по


закона на Нютон (гранично условие от трети род):
− p ( x ) u ′( x ) x =l = β 2 ( u x =l − u ср ) ,
където uср е температурата на околната среда, а β 2 > 0 е коефициентът на
конвективен топлообмен. Последното условие може да се запише още във вида
− p ( l ) u ′(l ) = β 2 u ( l ) − μ 2 , μ 2 = β 2 uср .
Граничното условие при x = 0 се поставя така
− p ( x ) u ′( x ) x = 0 = − β 1 (u x = 0 − u ср ) , β 1 > 0 или още във вида
p (0) u ′(0) = β 1 u (0) − μ1 , μ1 = β1 uср .

§ 9. КОНСТРУИРАНЕ НА ДИФЕРЕНЧНИ СХЕМИ. МЕТОД НА БАЛАНСА

Постановка на задачата

Най-общата задача за ОДУ от втори ред, която ще разгледаме е


⎧ ( p ( x) u ′( x) )′ − q ( x) u ( x) = f ( x), x ∈ (0, 1),
⎪⎪
(1) ⎨ p (0) u ′(0) = β 1 u (0) − μ1 ,
⎪− p (1) u ′(1) = β u (1) − μ ,
⎪⎩ 2 2

при
(2) 0 < p0 ≤ p ( x ) < p1 < ∞ , q( x) ≥ 0 , β 1 ≥ 0, β 2 ≥ 0, β 1 + β 2 > 0 .
Условията (2), заедно с определени изисквания за гладкост на коефициентите,
гарантират съществуване, единственост и устойчивост на решението на задача (1).
Например, при гранични условия от първи род, ако p ( x ) ∈ C 1 [0,1] ,

41
q( x ), f ( x ) ∈ C [0,1] , то u ( x ) ∈ C 2 (0,1) ∩ C [0,1] . При разглеждане на гранични условия
от III род ще искаме u ( x ) ∈ C 2 (0,1) ∩ C 1[0,1] .
Да означим с
Lu ≡ ( p( x ) u′( x ))′ − q( x ) u( x ) ,
l1u ≡ p ( 0) u ′( 0) − β 1u ( 0) ,
l 2 u ≡ − p (1) u ′(1) − β 2 u (1) ,
f ( x) = F ( x) ,
⎛− μ ⎞ ⎛l u ⎞
ϕ = ⎜⎜ 1 ⎟⎟ , lu = ⎜⎜ 1 ⎟⎟ .
⎝ − μ2 ⎠ ⎝ l2 u ⎠
Тогава задача (1) се записва във вида
⎧ Lu = F
(3) ⎨ .
⎩lu = ϕ
Задача (1), респективно задача (3), ще решаваме с помощта на диференчни методи.
Както и при разглежданите до тук диференчни методи за решаване на задачата на
Коши за ОДУ от първи ред, условно разграничаваме три етапа:

1) Съставяне на диференчната схема, която съответства на задача (3). За целта


в дефиниционната област на решението u се въвежда равномерна или неравномерна
мрежа от точки. Диференциалните оператори L и l се апроксимират съответно с
диференчните оператори Lh и lh върху подходящо избрано множество от точки,
наречено шаблон. Така получаваме диференчната схема:

⎧ Lh y h = Fh
(4) ⎨ ,
⎩l h y h = ϕ h

където Fh и ϕ h апроксимират десните страни на диференциалното уравнение и на


граничните условия.

2) Изследване на получената диференчна схема за апроксимация, сходимост и


точност. Във връзка с изследването на сходимостта, основна роля играе локалната
грешка на апроксимация ψ i , която за диференциалното уравнение е
ψ i = ( Lh uh ) i − ( Fh ) i ,
а за граничните условия
ψ i = (lh uh ) i − (ϕ h ) i .

3) Прилагане на подходящ числен метод за решаване на получената система


линейни алгебрични уравнения.

Видове записи на диференциалното уравнение

Преди да се спрем на всички тези етапи за задача (1), ще видим най-напред


как най-общото линейно ОДУ от втори ред може да се сведе до уравнение от вида
( p( x) u′( x))′ − q( x) u( x) = f ( x) , наречен дивергентен. И така, нека е дадено
уравнението

(5) a 2 ( x ) u ′′( x ) + a1 ( x ) u ′( x ) + a0 ( x ) u( x ) = a 3 ( x ) ,

42
където a 2 ( x ) ≠ 0 за всяко x от разглежданата област. Като разделим (5) с a 2 ( x ) ,
получаваме уравнението

a1 ( x ) a ( x) a ( x)
(6) u ′′( x ) + u ′( x ) + 0 u( x ) = 3 .
a2 ( x ) a2 ( x ) a2 ( x )

a ( x)
∫ a12 ( x ) dx a1 ( x )
Да умножим (6) с p( x ) = e и да отчетем, че p ′( x ) = p( x ) . Тогава
a2 ( x )
a0 ( x ) a ( x)
p( x ) u ′′( x ) + p ′( x ) u ′( x ) + p( x ) u( x ) = 3 p( x ) ,
a2 ( x ) a2 ( x)
или
( p( x) u′( x))′ − q( x) u( x) = f ( x) ,

a0 ( x ) a ( x)
където q( x ) = − p( x ) , f ( x) = 3 p( x ) .
a2 ( x ) a2 ( x )

Уравнението (5) може да се сведе и до уравнение u′′( x ) − q( x ) u( x ) = f ( x ) по


следния начин. В уравнение (6) полагаме

a1 ( x ) a ( x) a ( x)
= P( x ) , 0 = Q( x) , 3 = R( x ) .
a2 ( x) a2 ( x) a2 ( x)

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

(7) u′′( x ) + P( x ) u′( x ) + Q( x ) u( x ) = R( x ) .

Въвеждаме функцията α ( x ) = e ∫ 2 . Тогава α ′( x ) = − 12 α ( x ) P ( x ) . Полагаме


P( x)
− dx

u( x ) = α ( x ) z( x ) и за u ′(x ) и u′′(x) имаме съответно

u′( x ) = α ( x ) z ′( x ) + α ′( x ) z( x )
u′′( x ) = α ( x ) z′′( x) + 2α ′( x) z ′( x ) + α ′′( x ) z( x ) .

Заместваме в уравнението (7) и получаваме последователно

α ( x ) z ′′( x) + 2α ′( x ) z ′( x ) + α ′′( x ) z( x ) + P( x) α ( x ) z ′( x ) + P( x ) α ′( x ) z( x) +
+ Q ( x ) α ( x ) z ( x ) = R( x )

(8) α ( x) z ′′( x) + (2α ′( x) + P( x) α ( x)) z ′( x) + (α ′′( x) + P( x) α ′( x) +


+ Q( x) α ( x)) z ( x) = R( x) .

Но 2α ′( x ) = − P( x ) α ( x ) и тъй като α ( x ) ≠ 0 , то уравнение (8) може да се


запише във вида

(9) z ′′( x ) − q( x ) z( x ) = f ( x ) ,
където
q( x ) = −(α ′′( x ) + P( x ) α ′( x ) + Q( x ) α ( x )) / α ( x ), f ( x ) = R( x ) / α ( x ) .

43
Построяване на диференчна схема чрез непосредствено апроксимиране на
производните

Да разгледаме най-напред задачата

⎧u ′′( x ) − q( x ) u( x ) = f ( x ), x ∈ (0,1), q( x ) ≥ 0,

(10) ⎨u ′(0) = β1 u(0) − μ1, β1 ≥ 0,
⎪ (1) = .
⎩u μ2

В интервала [0,1] въвеждаме равномерна мрежа със стъпка h


ω h = {xi = i h, h = N1 , i = 0,1, … , N }.
Множеството от точките, които ще използваме при апроксимирането на
производните в точката xi , т.е. шаблона на точката xi , ще означаваме с Ш ( xi ) . В
зависимост от шаблона, който се избира, за апроксимирането на u ′( xi ) има три
възможности:
u − ui
а) Ш ( xi ) = {xi , xi +1} : u ′( xi ) ≈ i +1 ≡ u x,i ;
h

ui − ui −1
б) Ш ( xi ) = {xi −1 , xi } : u ′( xi ) ≈ ≡ u x ,i ;
h

ui +1 − ui −1
в) Ш ( xi ) = {xi −1 , xi , xi +1} : u ′( xi ) ≈ ≡u0 ,
2h x,i
където uk = u( x k ) . Първата апроксимация използва крайна разлика напред, втората -
крайна разлика назад, а третата – централна разлика.

От едностъпковите методи знаем, че за първата апроксимация


u −u
ψ i = ( Lh uh ) i − ( Lu)i = i +1 i − ui′ = O(h).
h
Аналогично за втората апроксимация получаваме
u −u
ψ i = ( Lh uh ) i − ( Lu)i = i i −1 − ui′ = O(h).
h
Да намерим локалната грешка на апроксимация на третото приближение. Имаме

u i +1 − u i −1
ψ i = ( Lh u h ) i − ( Lu ) i = − u i′ =
2h
1 ⎡ h h2 h3 h h2 h3 ⎤
= ⎢u i + u ′
i + u ′
i
′ + u ′′′( x i + θ 1 h ) − u i + u ′
i − u ′
i
′ + u ′′′( xi + θ 2 h)⎥ − u i′ = O (h 2 ),
2h ⎣ 1! 2! 3! 1! 2! 3! ⎦

при предположение, че u(x ) има непрекъсната трета производна.

Стойността на u ′′( x i ) ще апроксимираме с крайна разлика от втори ред по


шаблона Ш ( xi ) = {xi −1 , xi , xi +1}
u i +1 − 2u i + u i −1
u ′′( xi ) ≈ ≡ u x x ,i .
h2

44
За локалната грешка на апроксимация имаме
u − 2u i + u i −1
ψ i = ( Lh u h ) i − ( Lu ) i = i +1 − u i′′ =
h2
1 ⎛ h h2 h3 h 4 IV h h2 h3
= 2 ⎜⎜ ui + ui + ′ ′′ ′

ui + u i +′ u ( x i + θ 1 h ) − 2u i + u i − u i +
′ ui − ui′′′+
′′
h ⎝ 1! 2! 3! 4! 1! 2! 3!
h 4 IV h2
+ u ( xi + θ 2h ) ) − ui′′ = u IV (ξi ) = O ( h 2 ) ,
4! 12
при предположение, че u ∈ C (0, 1). 4

Тогава за диференциалното уравнение от задача (10) получаваме следната


диференчна апроксимация с локална грешка на апроксимацията ψ i = O(h 2 )

y i +1 − 2 y i + y i −1
− qi yi = f i , qi = q( xi ), f i = f ( xi ), i = 1, 2,…, N − 1 .
h2
Второто гранично условие се апроксимира точно
yN = μ2 .
Първото условие можем да апроксимираме веднага с грешка O(h) , като заместим
u′(0) с разлика напред, но нашата цел ще бъде да апроксимираме и него с грешка
O ( h 2 ) . Можем да постъпим по два начина, които на практика водят до една и съща
апроксимация.

1) Правим апроксимацията
y1 − y0
= β1 y0 − μ1 .
h
За локалната грешка на апроксимация имаме:
u −u 1⎛ h h2 h3 ⎞
ψ 0 = 1 0 − β1u 0 + μ1 = ⎜⎜ u 0 + u 0′ + u 0′′ + u ′′′(θ h) − u 0 ⎟⎟ − β1u 0 + μ1 =
h h⎝ 1! 2! 3! ⎠
h
= u 0′′ + O(h 2 ),
2
при предположение, че u ∈ C 3 (0, 1). Ако допуснем, че уравнението се
удовледотворява и при x = 0 , то u0′′ = q0 u0 + f 0 и за ψ 0 получаваме
h
ψ 0 = ( q0 u 0 + f 0 ) + O ( h 2 ) .
2
От тук следва, че ако направим апроксимацията
y1 − y0 h
(11) − ( q0 y0 + f 0 ) = β1 y0 − μ1 ,
h 2
то ψ 0 = O(h ) .
2

2) Да въведем извънконтурната точка x −1 = − h и да допуснем, че уравнението


се удовлетворява в малко по-широк интервал [−h, 1] . Да направим диференчна
апроксимация на уравнението при i = 0 и на първото гранично условие, като за u′(0)
използваме централна разлика. Ще имаме
y1 − 2 y0 + y −1
− q0 y0 = f 0 ,
h2
y1 − y −1
= β1 y0 − μ1 .
2h
45
Да изключим от тези две уравнения y −1 . От първото имаме
y −1 = ( q0 y0 + f 0 ) h 2 + 2 y0 − y1.
Заместваме във второто и получаваме
2 y1 − 2 y 0 − h 2 (q 0 y 0 + f 0 )
= β 1 y 0 − μ1 ,
2h
или
y1 − y0 h
− ( q0 y0 + f 0 ) = β1 y0 − μ1 .
h 2

Метод на баланса

Да се върнем сега към задача (1). Тя е типичен представител на задачите на


математическата физика, които се формулират с помощта на основно
диференциално уравнение и допълнителни условия (в случая – гранични), които
осигуряват съществуване и единственост на решението. Както казахме, задачите на
математическата физика отразяват някакъв закон за запазване (в случая закона за
запазване на топлината). Естествено е да искаме съответните закони да остават в
сила и за диференчните схеми, които апроксимират разглежданите диференциални
задачи, т.е. тези закони да са в сила и върху мрежата. Диференчни схеми, които
отразяват законите за запазване върху мрежата, се наричат консервативни.
На пръв поглед изглежда естествено да представим уравнението от задача (1)
във вида
p u′′ + p′ u′ − q u = f
и да използваме следната апроксимация за него, която има локална грешка O ( h 2 ) :
p − pi −1
(12) pi y xx ,i + i +1 y − qi yi = f i .
2h x ,i

Оказва се обаче, че така получената диференчна схема не е консервативна в класа на


прекъснатите коефициенти (като се направи баланс на топлината върху мрежата се
оказва, че в уравнение (12) има допълнителен източник или консуматор на топлина).
За получаване на консервативни диференчни схеми се използва интегро –
интерполационен метод или метод на баланса. Използването му е наложително при
променливи и особено при прекъснати коефициенти. Ще илюстрираме използването
на метода на баланса за построяване на консервативна диференчна схема за задача
(1).
В интервала [0,1] въвеждаме равномерна мрежа със стъпка h
ω h = {xi = i h, h = N1 , i = 0, 1,… , N } .
Освен точките от мрежата, които ще наричаме цели възли на мрежата, да въведем и
т.н. полуцели възли xi ± 12 = xi ± h2 , i = 1, 2,…, N − 1 .
При метода на баланса диференциалното уравнение (1) се интегрира в
интервала [ xi − 12 , xi + 12 ] :
xi + 1 xi + 1 xi + 1
2 2 2

∫ ( p( x ) u ′( x ))′dx −
xi − 1
∫ q( x ) u( x ) dx =
xi − 1
∫ f ( x ) dx .
xi − 1
2 2 2

Да означим с W ( x ) = − p( x ) u′( x ) потока в точката x . Тогава получаваме


xi + 1 xi + 1
2 2

(13) Wi − 12 − Wi + 12 − ∫ q( x ) u( x ) dx =
xi − 1
∫ f ( x) dx ,
xi − 1
2 2

46
което представлява уравнението на баланса на топлината за интервала [ xi − 12 , xi + 12 ] .
За интеграла в дясната част на (13) имаме
xi + 1 xi + 1 xi + 1
2
1 2 1 2

xi − 1
f ( x ) dx = h
h xi∫1
f ( x ) dx = h ϕ i , където ϕ i =
h xi∫1
f ( x ) dx .
− −
2 2 2

За интеграла в лявава част на (13) получаваме последователно


xi + 1 xi + 1 xi + 1
2
1 22


xi 1
q ( x ) u ( x ) dx ≈ u ( x i ) ∫
xi 1
q ( x ) dx = ui h
h xi∫1
q( x ) dx = h ui d i ,
− − −
2 2 2
xi + 1
1 2

h xi∫1
където d i = q( x ) dx .

2

Сега ще получим приближения за стойностите на потока в точките xi − 12 и


W ( x)
xi + 12 . От израза за потока имаме = −u ′( x ) . Да интегрираме това равенство в
p( x )
интервала [ xi −1 , xi ] :
xi x
W ( x) i

∫ p( x )
xi −1
dx = − ∫ u′( x ) dx .
xi −1

При предположение, че в интервала [ xi −1 , xi ] потокът W е равен приблизително на


W ( xi − 1 2 ) , от последното равенство получаваме
xi x
1 1 i 1 u − ui −1
Wi − 12 ∫
xi −1
p( x )
dx ≈ − (ui − ui −1 ) , Wi − 12 ∫
h xi −1 p( x )
dx ≈ − i
h
,

−1
u − u i −1 ⎛ 1 xi 1 ⎞
Wi − 12 ≈ − ai i = − a i u x ,i , ai = ⎜ ∫ dx ⎟ .
h ⎜ h x p( x ) ⎟
⎝ i −1 ⎠

Тогава за мрежовата функция y , която е приближено решение на задача (1), от


уравнението на баланса (13) получаваме
y − yi y − yi −1
a i +1 i +1 − ai i − h d i yi = h ϕ i ,
h h
1⎡ ⎤
⎢ a i +1 y x ,i +1 − a i y x ,i ⎥ − d i y i = ϕ i ,
h⎣ ⎦
или в съкратен запис
(14) ( a y x ) x ,i − d i y i = ϕ i , i = 1, 2, … , N − 1 .
Диференчното уравнение (14) е диференчен аналог на диференциалното
уравнение от задача (1).

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


гранично условие. Диференчната апроксимация на второто гранично условие се
получава аналогично.
Уравнението на баланса на топлината за интервала [0, x 1 2 ] има вида
h/2 h/2
W0 − W 12 − ∫ q( x) u ( x) dx = ∫ f ( x) dx .
0 0

47
От първото гранично условие W0 = − β1 y 0 + μ1 , а за W 1 2 имаме W 12 ≈ − a1 u x ,1 .
h/2 h/2 h/2
h 1 h 2
Като отчетем, че ∫ q( x) u( x) dx ≈ u0
0
2 0.5 h ∫ q( x) dx =
0
2
u 0 d 0 , където d 0 =
h ∫ q( x) dx
0
h/2
2
h ∫0
и ϕ0 = f ( x) dx , за диференчната апроксимация на граничното условие от

уравнението на баланса получаваме


−1
h h ⎡ 1 x1 dx ⎤
− β1 y 0 + μ1 + a1 y x ,1 − y 0 d 0 = ϕ 0 , a1 = ⎢ ∫ ⎥ ,
2 2 ⎣⎢ h 0 p( x) ⎦⎥
или още
h h
a1 y x ,0 = ( β1 + d 0 ) y 0 − ( μ1 − ϕ 0 ) .
2 2
За второто гранично условие диференчната апроксимация има вида

h h
− a N y x , N = (β 2 + d N ) y N − (μ 2 − ϕ N ) ,
2 2
−1
⎡ 1 x N dx ⎤ 2 N
x
2 N
x

h x ∫1 h x ∫1
където a N = ⎢ ∫ ⎥ , dN = q( x) dx , ϕN = f ( x) dx .
⎣⎢ h x N −1 p ( x) ⎥⎦ N−
2
N−
2

Условия за втори ред на апроксимация

Да разгледаме сега диференчното уравнение


(15) ( a y x ) x ,i − d i y i = ϕ i ,
където коефициентите ai > 0, d i ≥ 0, ϕ i за сега не са определени. Искаме да
намерим условията, които трябва да удовлетворяват тези коефициенти, така че
диференчното уравнение (15) да апроксимира диференциалното уравнение от (1) с
грешка O ( h 2 ) върху равномерната мрежа ω h , въведена в интервала [0, 1] . За
локалната грешка на апроксимация имаме:
1⎡ u −u u −u ⎤
ψ i = ⎢ai +1 i +1 i − ai i i −1 ⎥ − d i ui − ϕ i =
h⎣ h h ⎦
1⎡ ⎛ h h 2
3 ⎞ ⎛ h h2 ⎞⎤
′ ′′ ′′′
= ⎢ai +1 ⎜ u i + u i + u i + O(h ) ⎟ − ai ⎜ u i − u i + u i′′′+ O(h 3 ) ⎟⎟⎥ −
⎜ ⎟ ⎜ ′ ′′
h⎣ ⎝ 2! 3! ⎠ ⎝ 2! 3! ⎠⎦
− d i ui − ϕ i − pi′ ui′ − pi ui′′ + qi ui + f i =
⎛ a − ai ⎞ ⎛ a + ai ⎞ a − ai
= ⎜ i +1 − pi′ ⎟ u i′ + ⎜ i +1 − pi ⎟ u i′′ + i +1 h u i′′′+ O(h 2 ) − (d i − qi )u i − (ϕ i − f i ).
⎝ h ⎠ ⎝ 2 ⎠ 6
Оттук се вижда, че ако

ai +1 − ai
= pi′ + O ( h 2 ) , d i = qi + O (h 2 ) ,
h
(16)
ai +1 + ai
= pi + O(h 2 ) , ϕ i = f i + O (h 2 ) ,
2
то ψ i = O ( h 2 ) .
Следователно условията (16) са достатъчни за втори ред на апроксимация.
48
Да разгледаме сега някои възможности за пресмятане на коефициентите ai на
диференчната схема, които осигуряват втори ред на апроксимация:
p + pi 2 pi pi −1
ai = pi − 12 , ai = i −1 , ai = , ai = pi −1 pi .
2 pi + pi −1
Може лесно да се провери, че ако ai = pi , то ψ i = O(h) .
За останалите коефициенти на диференчната схема могат да се използват
например формулите
1
( 1
) (
d i = qi , ϕ i = f i , или d i = qi − 12 + qi + 12 , ϕ i = f i − 12 + f i + 12 ,
2 2
)
които също са с втори ред на апроксимация.

Задачи

1 зад. Да се покаже, че диференчното уравнение


y − y0 h
p1 1 − ( q0 y0 + f 0 ) − β1 y0 = μ1
2 h 2
апроксимира граничното условие
p (0)u′(0) = β1u (0) + μ1
за уравнението
( pu′)′ − qu = f
с локална грешка на апроксимацията O ( h 2 ) .

Решение:

u1 − u0 h
ψ 0 = p1 − ( q0u0 + f 0 ) − β1u0 − μ1 =
2 h 2
⎡ h h2 ⎤⎡ h h2 ⎤ h
= ⎢ p0 + p0′ + p0′′ + O ( h 3 ) ⎥ ⎢u0′ + u0′′ + u0′′′ + O ( h 3 ) ⎥ − ( q0u0 + f 0 ) − β1u0 − μ1 =
⎣ 2 8 ⎦⎣ 2 6 ⎦ 2
h h2 h h2 h2 h
= p0u0′ + ′′
p0u0 + ′′′ ′ ′
p0u0 + O (h ) + p0u0 +
3
′ ′′
p0u0 + p0′′u0′ − ( q0u0 + f 0 ) − β1u0 − μ1 =
2 6 2 4 8 2
h
= ( p0u0′′ + p0′u0′ − q0u0 − f 0 ) + O (h 2 ) = O (h 2 ).
2

49

You might also like