М и ни сте р ство о б р а зо ва ни я Ро сси йско й Ф е де р а ци и В о р о не ж ски й го суда р стве нный уни ве р си те...
11 downloads
243 Views
187KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
М и ни сте р ство о б р а зо ва ни я Ро сси йско й Ф е де р а ци и В о р о не ж ски й го суда р стве нный уни ве р си те т
М а те ма ти че ски й фа культе т
Чи сле нные ме то дыр е ше ни я о б ыкно ве нных ди ффе р е нци а льных ур а вне ни й
М е то ди че ски е ука за ни я п о кур су «М е то дывычи сле ни й» для студе нто в IV-V кур со в все х фо р м о б уче ни я
Со ста ви те ль В .П.Тр о фи мо в В о р о не ж 2002 г.
Н а сто ящи е ме то ди че ски е ука за ни я п р е дна зна че ны для вып о лне ни я ла б о р а то р но й р а б о ты «Чи сле нные ме то ды р е ше ни я о б ыкно ве нных ди ффе р е нци а льных ур а вне ни й» п о кур су «М е то дывычи сле ни й» студе нта ми IV-V кур со в дне вно го и ве че р не го о тде ле ни й ма те ма ти че ско го фа культе та . Ра зр а б о тка мо ж е тб ыть и сп о льзо ва на для са мо сто яте льно й р а б о ты студе нто в и п о дго то вке к экза ме ну. Ра зр а б о тка п р е дста вляе т со б о й суще стве нно п е р е р а б о та нный и до п о лне нный ва р и а нтме то ди че ски х ука за ни й [5] . Ли те р а тур а . 1. Ба хва ло в Н .С., Ла п и н А.В ., Чи ж о нко в Е .В . Чи сле нные ме то дыв за да ча х и уп р а ж не ни ях. / По д р е д. В .А.Са до вни че го : У че б . п о со б и е .– М .: В ысш. шк., 2000. – 190 с. 2. Ар уша нян И .О ., Чи ж о нко в Е .В . М а те р и а лысе ми на р ски хза няти й п о кур су «М е то ды вычи сле ни й» / По д р е д. О .Б.Ар уша няна : У че б . п о со б и е . – 2-е и зд. – М .: И зд-во Ц ПИ п р и ме ха ни ко -ма те ма ти че ско м ф-те М ГУ , 1999. – 96 с. 3. Пли с А.И ., Сли ви на Н .А. Ла б о р а то р ный п р а кти кум п о высше й ма те ма ти ке : У че б . п о со б и е для втузо в. – 2-е и зд., п е р е р а б . и до п . – М .: В ысш. шк., 1994. – 416 с. 4. Х а йр е р Э ., Н ё р се тт С., В а нне р Г. Ре ше ни е о б ыкно ве нных ди ффе р е нци а льных ур а вне ни й. Н е ж е стки е за да чи : Пе р . с а нгл. – М .: М и р , 1990. – 512 с. 5. Аб р о ськи на Г.С., Тр о фи мо в В .П. М е то ди че ски е ука за ни я п о ме то да м вычи сле ни й и вычи сли те льно й п р а кти ке . Ча сть III: - В о р о не ж .: В ГУ , 1989. – 24 с. 1. П о ст ан о в казад ач и . Пусть тр е б уе тся на йти ди ффе р е нци р уе мую п р и x ≥ x 0 функци ю y€ = y€ ( x ) , удо вле тво р яю щую ди ффе р е нци а льно му ур а вне ни ю п р и x > x0 и на ча льно му усло ви ю п р и x = x0 :
dy = f (x, y( x )), dx
x0 < x < x0 + H ,
H > 0,
y ( x0 ) = y 0 .
(1)
Буде м счи та ть, что п р а ва я ча сть ди ффе р е нци а льно го ур а вне ни я f ( x, y ) удо вле тво р яе т усло ви ям те о р е мы суще ство ва ни я и е ди нстве нно сти р е ше ни я y€ = y€ ( x ) за да чи Ко ши (1). Чи сле нно е р е ше ни е за да чи (1) со сто и т в п о стр о е ни и та б ли цы п р и б ли ж е нных зна че ни й y1 , y 2 , K, y N то чно го р е ше ни я y€ ( x ) в то чка х
x1 , x 2 ,K, x N о тр е зка [x0 ; x0 + H ] . Пр и это м ве ли чи ну
y€ ( x k ) − y k
на зыва ю т 2
ло ка льно й а лго р и тми че ско й о ши б ко й чи сле нно го ме то да п р и x = x k . В р е а льных вычи сле ни ях все гда п р и сутствуе т о ши б ка о кр угле ни я и фа кти че ски б удут ~ вычи сле ны y i (i = 1, K , N ) . Суще ствуе тмно ж е ство ме то до в р е ше ни я за да чи Ко ши (1). М ы р а ссмо тр и м два ва ж не йши х кла сса чи сле нных ме то до в: ме то ды, о сно ва нные на р а зло ж е ни и р е ше ни я в р яд Те йло р а , и ме то дып о ли но ми а льно й а п п р о кси ма ци и . H В ыб е р е м xi = x0 + ih, i = 1,K, N , h = . То чки xi на зыва ю тся узла ми N се тки , а ве ли чи на h - ша го м се тки . 2. М ет о д Т ейло ра. Пр е дп о ла га я, что то чно е р е ше ни е y€ ( x ) за да чи (1) являе тся а на ли ти че ско й функци е й в не ко то р о й о кр е стно сти U ( x0 ) то чки x0 , р а зло ж и м y€ ( x ) в р яд Те йло р а в то чке x n ∈U ( x 0 ) : ∞
y€ ( k ) ( xn ) y€ ( x) = ∑ ( x − xn ). k! k =0
(2)
За ме ти м, что y€ ′( x ) = f ( x, y€ ( x ) ) и , сле до ва те льно ,
y€ ( j ) ( x) = f ( j−1) ( x, y€ ( x)),
j = 2,3K
y€ ( k ) ( x ) = f ( k −1) (x, y€ ( x) ), k = 2,3K Пр о и зво дные п р а ви ла м ди ффе р е нци р о ва ни я сло ж но й функци и :
f (1) (x, y€ ( x)) =
f
(2)
(3) вычи сляю тся
по
∂f ∂f dy€ + = f x (x, y€ ( x)) + f y ( x, y€ ( x) ) f (x, y€ ( x )), ∂x ∂y dx
∂2 f ∂ 2 f dy€ ∂ 2 f (x, y€ ( x)) = 2 + 2 + ∂x ∂x∂y dx ∂y 2
2 dy€ ∂f d y€ = + 2 dx ∂ y dx 2
f xx (x, y€ ( x)) + 2 f xy (x, y€ ( x )) f (x, y€ ( x)) + f yy ( x, y€ ( x) )[ f ( x, y€ ( x))] + 2
f y ( x, y€ ( x))[ f x ( x, y€ ( x)) + f y (x, y€ ( x)) f ( x, y€ ( x))], K
3
И сп о льзуя (3), п е р е п и ше м (2) п р и x = x n +1 , h = x n +1 − x n , в ви де : p
y€ ( xn+1 ) = y€ ( xn ) + ∑ k =1
f ( k −1) ( xn , y€ ( xn )) k h + Rp , k!
(4)
где R p - чле ны высши х п о р ядко в. За ме ни в в (4) y€ ( x n ) на y n и о тб р о си в R p , п о лучи м а лго р и тм ме то да Те йло р а p
yn +1 = yn + ∑ k =1
f ( k −1) (xn , yn ) k h . k!
(5)
О б ычно а лго р и тм (5) за п и сыва ю тв ви де :
yn +1 = yn + hTp (xn , yn , h ),
n = 0,1,K, N − 1,
где p −1
T p ( xn , y n , h ) = ∑ j =0
(6)
f ( j ) ( xn , yn ) j h . ( j + 1)!
М е то д (6) на зыва ю тм ет о д о м Т ейло рап о ря д ка p . Зам еч ан и я : 1. Д ля ме то да Те йло р а п о р ядка p о ста то чный чле н R p в фо р муле (4) и ме е т p +1 ви д R p = O ( h ) п р и h → 0 . Сле до ва те льно , е сли в а лго р и тме (6) y n = y€ ( x n ) , то p +1 ло ка льна я а лго р и тми че ска я о ши б ка ме то да и ме е тп о р ядо к O ( h ) . 2. О б ще е ко ли че ство ша го в чи сле нно го р е ше ни я за да чи (1) на о тр е зке [x0 ; x0 + H ] о п р е де ляе тся о тно ше ни е м N = H / h . Пр и за да нно й то чно сти п р и б ли ж е нно го р е ше ни я чи сло ша го в N уме ньша е тся с уве ли че ни е м п о р ядка p ме то да Те йло р а . Н о уве ли че ни е п о р ядка ме то да п р и во ди тк р о сту чи сла чле но в в фо р муле (7). Д ля чи сле нно й р е а ли за ци и а лго р и тма (6) нуж но вычи слять
∂ k f ( x, y ) p( p + 1) 2 зна че ни й функци и f ( x, y ) и все х е е ча стных п р о и зво дных ∂x j ∂y k − j j = 1,K, k . В ычи сле ни е б о льшо го чи сла ча стных п р о и зво дных п р и k < p, являе тся тр удно й за да че й. По это му ме то ды Те йло р а выше че тве р то го п о р ядка в вычи сли те льно й п р а кти ке о б ычно не и сп о льзую тся. М ет о д Т ейло рап ерв о го п о ря д ка. И з фо р мулы(6) п р и p = 1 п о луча е м
yn +1 = yn + hf (xn , yn ),
n = 0,1,K, N − 1.
(7)
Э то та лго р и тм на зыва е тся я в н ы м м ет о д о м Э йлера. Зде сь T1 (xn , yn , h ) = f (xn , y n ) . 4
М ет о д Т ейло рав т о ро го п о ря д ка. Пр и p = 2 и з фо р мулы(6) п о луча е м
yn+1 = yn + hT2 ( xn , yn , h), где
T2 ( xn , yn , h) = f ( xn , yn ) +
n = 0,1,K, N − 1,
(8)
h [ f x (xn , yn ) + f y (xn , yn ) f (xn , yn )]. 2
3. М ет о д Рун ге-Кут т а. М е то д Рунге -Кутта и ме е тто тж е п о р ядо к то чно сти , что и ме то д Те йло р а , но и склю ча е тне о б хо ди мо сть вычи сле ни я зна че ни й ча стных п р о и зво дных о тп р а во й ча сти ди ффе р е нци а льно го ур а вне ни я f ( x, y ) . О сно вна я и де я ме то да со сто и т в за ме не функци и T p ( xn , y n , h ) в фо р муле (6) др уго й функци е й K p ( xn , yn , h ) , не
тр е б ую ще й вычи сле ни я ча стных п р о и зво дных о т f ( x, y ) и удо вле тво р яю ще й усло ви ю
Tp ( xn , yn , h ) − K p ( xn , yn , h ) ≤ Ch p ,
(9)
где C - ко нста нта , не за ви сяща я о т h . Та ки м о б р а зо м, а лго р и тм ме то да Рунге Кутта и ме е тви д:
yn +1 = yn + hK p (xn , yn , h),
n = 0,1,K, N − 1,
(10)
где K p ( xn , yn , h ) удо вле тво р яе т усло ви ю (9). О че ви дно , ме то д (10) и ме е т ту ж е а лго р и тми че скую о ши б ку, что и ме то д Те йло р а . Алго р и тм (10) п р и нято на зыва ть м ет о д о м Рун ге-Кут т ап о ря д ка p . Ф ункци ю K p ( xn , yn , h ) р а зыски ва ю тв ви де : p
K p ( xn , yn , h) = ∑ a pj k j ,
(11)
j =1
где
k1 = f ( xn , yn ),
k2 = f (xn + α 2 h, yn + β 21hk1 ),
k3 = f (xn + α 3h, yn + β 31hk1 + β 32hk2 ),
KKK
k p = f (xn + α p h, yn + β p1hk1 + β p 2 hk2 + K + β pp−1hk p−1 ). 5
В фо р мула х (11) ко эффи ци е нты a pj ( j = 1,K, p ) и α r , β rs ( r = 2,K, p; s = 1,K, p − 1) на хо дятся и з усло ви я (9). М ет о д Рун ге-Кут т ап ерв о го п о ря д ка. Пр и p = 1 п о луча е м и з (11)
K1 (xn , yn , h ) = a11k1 = a11 f (x n , yn ).
Ср а вни ва я T1 ( xn , y n , h ) = f ( xn , y n ) с K1 ( xn , y n , h ) , не ме дле нно п о луча е м и з усло ви я (9), что a11 = 1 . Та ки м о б р а зо м ме то д Рунге -Кутта п е р во го п о р ядка со вп а да е тс явным ме то до м Э йле р а :
yn +1 = yn + hf (xn , yn ),
n = 0,1, K, N − 1.
М ет о д Рун ге-Кут т ав т о ро го п о ря д ка. Пр и p = 2 п о луча е м и з (11)
K2 (xn , yn , h ) = a21 f (xn , yn ) + a22 f (xn + α 2 h, yn + β 21hf (xn , yn )).
(12)
(xn , yn ) п о луча е м f ( xn + α 2 h, yn + β 21hf (xn , yn )) = f ( xn , yn ) + α 2 hf x ( xn , yn ) + β 21hf ( xn , yn ) f y ( xn , yn ) + O(h 2 ).
(13)
Ра зла га я f ( x, y ) во вто р о м сла га е мо м в (12) п о фо р муле Те йло р а в то чке
По дста вляя (13) в (12), и ме е м
K2 (xn , yn , h) = (a21 + a22 ) f (xn , yn ) +
a22α 2 hf x ( xn , yn ) + a22 β 21hf (xn , yn ) f y ( xn , yn ) + O(h 2 ).
(14)
h [ f x (xn , yn ) + f y (xn , yn ) f (xn , yn )] и (14), 2 п о луча е м и з усло ви я (9) не ли не йную си сте му ур а вне ни й для о п р е де ле ни я ко эффи ци е нто в a21 , a22 , α 2 , β 21 : Ср а вни ва я T2 ( xn , yn , h) = f ( xn , yn ) +
a21 + a22 = 1 a22α 2 = 1 / 2 a β = 1 / 2. 22 21 О тсю да сле дуе т, что для р а зли чных a22 ≠ 0 суще ствуе т це ло е се ме йство ме то до в Рунге -Кутта
вто р о го
п о р ядка с ко эффи ци е нта ми
a21 = 1 − a22 , и
α 2 = β 21 = 1 /(2a22 ) : 6
yn +1 = yn + hK2 (xn , yn , h ) = 1 1 yn + h (1 − a22 ) f ( xn , yn ) + a22 f xn + h, yn + hf (xn , yn ). 2a22 2a22
(15)
Пр и ве де м п р и ме р ыа лго р и тмо в ме то да Рунге -Кутта вто р о го п о р ядка . М ет о д Хью н а(м о д и ф и ци ро в ан н ы й м ет од т рап еци й). В это м случа е a22 = 1 / 2 , a21 = 1 − a22 = 1 / 2, α 2 = β 21 = 1 /(2a22 ) = 1. И з (15) п о луча е м а лго р и тм ме то да Х ью на
yn +1 = yn + hK2 (xn , yn , h ) = yn +
h [ f (xn , yn ) + f (xn + h, yn + hf (xn , yn ))]. 2
(16)
М о д и ф и ци ро в ан н ы й м ет о д Э йлера. В это м случа е a22 = 1 , a21 = 1 − a22 = 0 α 2 = β 21 = 1 /(2a22 ) = 1 / 2. И з (15) п о луча е м а лго р и тм мо ди фи ци р о ва нно го ме то да Э йле р а
h h yn +1 = yn + hK2 (xn , yn , h ) = yn + hf xn + , yn + f (xn , yn ). 2 2
(17)
М ет о д Рун ге-Кут т ач ет в ерт о го п о ря д ка. Н а и б о ле е ча сто в вычи сли те льно й п р а кти ке и сп о льзуе тся ме то д Рунге -Кутта че тве р то го п о р ядка , а лго р и тм ко то р о го о п р е де ляе тся фо р мула ми
yn +1 = yn + hK4 (xn , yn , h ),
n = 0,1,K, N − 1,
(18)
где
K 4 ( xn , yn , h ) = k1 = f ( xn , yn ),
1 (k1 + 2k2 + 2k3 + k4 ), 6
h h k2 = f xn + , yn + k1 , 2 2 h h k3 = f xn + , yn + k2 , 2 2 k4 = f (xn + h, yn + hk3 ).
О тме ти м, что е сли п р а ва я ча сть ди ффе р е нци а льно го ур а вне ни я f ( x, y ) не за ви си т о т y , то фо р мула (18) со вп а да е т с ква др а тур но й фо р муло й Си мп со на . Ре ше ни е
за да чи
Ко ши
y ′ = f (x ), y ( x0 ) = y0
р а вно си льно
вычи сле ни ю
x
и нте гр а ла y ( x ) =
∫ f (s )ds ).
x0
7
Зам еч ан и е. М е то д (18) ча сто на зыва ю тп р о сто «ме то до м Рунге -Кутта » б е з всяки х ука за ни й на п о р ядо к. Ло ка льна я а лго р и тми че ска я о ши б ка это го ме то да 5 не п р е во схо ди т Ch , где C > 0 - ко нста нта , не за ви сяща я о т h . О дна ко о це ни ть C не п р о сто . Э то суще стве нный не до ста то к ме то да Рунге -Кутта . Гр уб о е о це но чно е п р а ви ло выб о р а ша га h п р е дло ж е но Ко лла тцо м: е сли для не ко то р о й то чки
(xn , yn ) ве ли чи на
k2 − k3 б о льше не ско льки х со тых, то ша г h уме ньша ю т. k1 − k 4
4. О бщи й о д н о ш аго в ы й м ет од . М е то д, а лго р и тм ко то р о го о п р е де ляе тся фо р муло й
yn +1 = yn + hΦ f ( xn , yn , h ), n = 0,1,K, N − 1, (19) где Φ f - функци я а р гуме нто в x, y, h за ви си то тп р а во й ча сти ди ффе р е нци а льно го ур а вне ни я f ( x, y ) , на зыва е тся о бщи м о д н о ш аго в ы м м ет од ом. О че ви дно , что ме то дыТе йло р а и Рунге -Кутта являю тся ча стными случа ями о б ще го о дно ша го во го ме то да . yn+1 = ~ yn + hΦ f (xn , ~ yn , h) + δ n , yn - р е ше ни е ур а вне ни я ~ О б о зна чи м че р е з ~ n = 0,1,K, N − 1 с на ча льным усло ви е м ~y . 0
Т ео рем а(о це нка гло б а льно й п о гр е шно сти о б ще го о дно ша го во го ме то да ). Пусть вып о лне нысле дую щи е усло ви я: 1. Ф ункци я Φ f (x, y, h ) о п р е де ле на и не п р е р ывна в о б ла сти
D = [x0, x0 + H ]× (− ∞,+∞) × [0, h0 ],
h0 > 0 и суще ствуе т ко нста нта
M > 0 , не
за ви сяща я о т x и h , та ка я, что в о б ла сти D
Φ f ( x, y , h ) − Φ f ( x, z , h ) ≤ M y − z .
2. Суще ствуе тко нста нта L > 0 и це ло е
p > 0 та ки е , что в о б ла сти D
w(t + h) − v ≤ Lh p , h w(x ) - р е ше ни е ур а вне ни я y ′ = f (x, y ) на где удо вле тво р яю ще е на ча льно му усло ви ю w(t ) = v . Φ f (t, v, h) −
о тр е зке
[t, t + h] ,
То гда для гло б а льно й о ши б ки ме то да (19) сп р а ве дли ва о це нка
δ exp[M ( xn − x0 )] − 1 y€ ( xn ) − ~ yn ≤ y€ ( xo ) − ~ y0 exp[M ( xn − x0 )] + Lh p + , h M
δ j , δ j -ло ка льна я о ши б ка о кр угле ни я на где δ = 0≤max j ≤ N −1
(20)
j -о м ша ге .
8
И з (20) сле дуе т, что гло б а льна я о ши б ка о б ще го о дно ша го во го ме то да (19) со сто и ти з тр е х ча сте й: 1) о ши б ка п р и вычи сле ни и на ча льно го усло ви я, 2) сумма р на я а лго р и тми че ска я о ши б ка ме то да , ха р а кте р и зуе ма я ве ли чи но й
Lh p , уб ыва ю ща я с уме ньше ни е м h , 3) о ши б ка о кр угле ни я, п р е дста вле нна я чле но м
δ , ко то р ый р а сте т с h
уме ньше ни е м h . И з (20) сле дуе т, что п о п ытка уме ньши ть а лго р и тми че скую о ши б ку ме то да п р и во ди тк уме ньше ни ю h и , сле до ва те льно , к уве ли че ни ю о ши б ки о кр угле ни я. Кр о ме то го , гло б а льна я о ши б ка р а сте т с уве ли че ни е м дли ны и нте р ва ла , на ко то р о м р а зыски ва е тся р е ше ни е ди ффе р е нци а льно го ур а вне ни я. 4. М ет о д ы п о ли н о м и альн о й ап п ро кси м аци и . Пусть то чным р е ше ни е м за да чи (1) являе тся п о ли но м сте п е ни k : k
y€ ( x) = ∑γ j x j .
(21)
j =0
Пр е дп о ло ж и м,
y€ ( x ) и п р а во й ча сти ди ффе р е нци а льно го ур а вне ни я в m + 1 то чка х
что
на м и зве стны зна че ни я
то чно го
р е ше ни я
y€ ′( x ) = f (x, y€ (x )) xn−i (i = 0,1K, m) . Н а ше й це лью являе тся п о стр о е ни е та ки х чи сле нных ме то до в, ко то р ые п о зво ли ли б ы в это м случа е на йти y n +1 , со вп а да ю ще е со зна че ни е м то чно го р е ше ни я в то чке xn+1 : y€ ( x n +1 ) = y€ ( x n + h ) = y n+1 . Н а п р и ме р , для k = 1 в (21)
это п о зво ляе тсде ла ть явный ме то д Э йле р а . Лю б о й ме то д, да ю щи й во змо ж но сть на йти то чно е зна че ни е y€ ( xn +1 ) = y n+1 р е ше ни я y€ ( x ) за да чи (1), являю ще го ся п о ли но мо м (21), на зыва ю т м ет од ом п о ли н о м и альн о й ап п ро кси м аци и (ф о рм уло й ч и слен н о го и н т егри ро в ан и я ) п о ря д ка k . П ред уп режд ен и е. Н е п ута ть п о р ядо к k ме то да п о ли но ми а льно й а п п р о кси ма ци и с п о р ядко м p ме то да Те йло р а . В о тли чи е о т ме то да Те йло р а б о льши нство ме то до в п о ли но ми а льно й а п п р о кси ма ци и и сп о льзуе т для вычи сле ни я y n +1 и нфо р ма ци ю о не ско льки х п р е дыдущи х ша га х. По это му ме то д п о ли но ми а льно й а п п р о кси ма ци и п р и m ≥ 1 на зыва ю тм н о го ш аго в ы м в о тли чи е , на п р и ме р , о тме то до в Рунге -Кутта , ко то р ые являю тся о д н о ш аго в ы м и . О б щи й ви д а лго р и тма ме то да п о ли но ми а льно й а п п р о кси ма ци и :
9
m
m
yn +1 = ∑ ai yn−i + h ∑ bi f (xn−i , yn−i ), i =0
(22)
i =−1
2m + 3 ко эффи ци е нто в a 0 , a1 ,K, a m , b−1 , b0 , b1 ,K, bm о п р е де ляю тся та к, что е сли то чно е р е ше ни е y€ ( x ) за да чи (1) являе тся п о ли но мо м сте п е ни k и е сли п р е два р и те льно на йде нные зна че ни я y n , y n−1 ,K, y n−m являю тся то чными ( y n −i = y€ ( x n−i ) п р и i = 0,1,K, m ), то а лго р и тм (22) да е тто чно е зна че ни е р е ше ни я y n +1 = y€ ( x n+1 ) . О че ви дно , что 2m + 3 ≥ k + 1 (чи сло п а р а ме тр о в - ко эффи ци е нто в где
ме то да до лж но б ыть б о льше чи сла ко эффи ци е нто в п о ли но ма (21)). Н а йде м усло ви я, ко то р ым до лж ны удо вле тво р ять ко эффи ци е нты a0 , a1 ,K, am , b−1 , b0 , b1 ,K, bm ме то да п о ли но ми а льно й а п п р о кси ма ци и п о р ядка k . Се ме йство за да ч Ко ши , р е ше ни е м ко то р ых являе тся п о ли но м (21), и ме е т ви д k
y ′( x) = ∑ jγ j x j −1.
(23)
j =1
Д ля удо б ства вычи сле ни й п о ло ж и м x n = 0 . То гда x n+1 = h , x n−i = − ih, i = 1,K, m . И з (21) и (23) и ме е м: k
yn +1 = ∑γ j h j , j =0
yn = γ 0 , k
yn −i = ∑γ j ( −i) j h j ,
i = 1,K, m,
j =0 k
f (xn +1 , yn +1 ) = ∑ jγ j h j −1 , j =1
f ( xn , y n ) = γ 1 , k
f (xn −i , y n −i ) = ∑ jγ j (−i ) j −1 h j −1 ,
i = 1, K, m.
j =1
По дста вляя на йде нные выр а ж е ни я в (22) и п р и р а вни ва я ко эффи ци е нты п р и γ j h j , j = 0,1K, m , п о лучи м си сте му k + 1 ур а вне ни й о тно си те льно 2m + 3 не и зве стных a0 , a1 ,K, am , b−1 , b0 , b1 ,K, bm :
10
m ai = 1 ∑ i =0 m m ∑ ( −i ) j a j + j ∑ ( −i ) j −1 b j = 1, i=0 i = −1
( 24) j = 1,K, k .
Си сте ма (24) на зыва е тся усло в и ем ко ррект н о ст и мно го ша го во го ме то да п о ли но ми а льно й а п п р о кси ма ци и п о р ядка k . Зам еч ан и е. Е сли п о тр е б о ва ть, что б ы ме то д б ыл то че н для случа я, ко гда р е ше ни е за да чи (1) п р и на дле ж и т сп е ци а льно му кла ссу функци й и ных, че м п о ли но мы (на п р и ме р , эксп о не нци а льных), то мо ж но п о лучи ть др уги е усло ви я ко р р е ктно сти п р и б ли ж е нно го ме то да . М е то д п о ли но ми а льно й а п п р о кси ма ци и (22), ко эффи ци е нты ко то р о го a0 , a1 ,K, am , b−1 , b0 , b1 ,K, bm удо вле тво р яю тусло ви ю ко р р е ктно сти (24), на зыва ю т со ст оят ельн ы м . М е то д (22) на зыва е тся я в н ы м , е сли b−1 = 0 , и н ея в н ы м , е сли b−1 ≠ 0 . Ло кальн ая алго ри т м и ч еская о ш и бка со сто яте льно го мно го ша го во го ме то да п о ли но ми а льно й а п п р о кси ма ци и п о р ядка k п р и е сте стве нных о гр а ни че ни ях на п р а вую ча сть ди ффе р е нци а льно го ур а вне ни я f (x, y ) о п р е де ляе тся выр а ж е ни е м
Ck = y€ ( k +1) (ξ )h k +1 = O(h k +1 ),
(25)
где Ck - ко нста нта , не за ви сяща я о т h , xn − mh ≤ ξ ≤ x n + h . О п и ше м два ва ж ных се ме йства со сто яте льных ме то до в п о ли но ми а льно й а п п р о кси ма ци и , ча сто и сп о льзуе мые в вычи сли те льно й п р а кти ке . М ет о д А д ам са-Баш ф о рт а(экст рап о ля ци о н н ы й м ет о д А д ам са). М е то д Ада мса -Ба шфо р та п о р ядка k являе тся явным мно го ша го вым ме то до м п о ли но ми а льно й а п п р о кси ма ци и , п о луче нным и з (22) п р и усло ви и
m = k − 1, a1 = a2 = K = ak −1 = 0, b−1 = 0,
(26)
то е сть k −1
yn+1 = a0 y0 + h ∑ bi f (xn−i , yn−i )
(27)
i =0
Ко эффи ци е нты ме то да a0 , b0 , b1 ,K, bk −1 о п р е де ляю тся и з усло ви я ко р р е ктно сти (24). В это м случа е (24) п р и ме тви д
a0 = 1 k −1 1 j −1 ( ) , − i b = ∑ i j i =0
j = 1,K, k .
( 28)
11
О п р е де ли те ль это й си сте мы о тли че н о тнуля и , сле до ва те льно , суще ствуе т е ди нстве нно е р е ше ни е . Та ки м о б р а зо м, для лю б о го k р е ше ни е си сте мы (28) о дно зна чно о п р е де ляе т ме то д Ада мса -Ба шфо р та п о р ядка k (ме то д являе тся со сто яте льным). Т абли ца1. А лго ри т м ы м ет о д аА д ам са-Баш ф о рт а. По р ядо к Пе р вый В то р о й
Тр е ти й Ч е тве р тый
Алго р и тм
y n+1 = yn + hf (xn , yn )
(явный ме то д Э йле р а )
1 3 y n+1 = y n + h f ( xn , y n ) − f ( xn−1 , y n−1 ) 2 2 16 5 23 y n+1 = y n + h f (x n , y n ) − f (x n−1 , y n−1 ) + f ( xn−2 , y n−2 ) 12 12 12 59 37 9 55 y n+1 = y n + h f ( xn , y n ) − f ( xn−1 , y n−1 ) + f ( xn−2 , y n−2 ) − f ( xn−3 , y n−3 ) 24 24 24 24
Д ля чи сле нно й р е а ли за ци и ме то да Ада мса -Ба шфо р та п о р ядка k тр е б уе тся k ста р то вых зна че ни й y n , y n−1 ,K, y n −k +1 (ме то д являе тся k - ша го вым). М ет о д А д ам са-М улт о н а(и н т ерп о ля ци о н н ы й м ет о д А д ам са). М е то д Ада мса -М улто на п о р ядка k являе тся не явным мно го ша го вым ме то до м п о ли но ми а льно й а п п р о кси ма ци и , п о луче нным и з (22) п р и усло ви и
m = k − 2, a1 = a2 = K = ak −2 = 0, b−1 ≠ 0,
(29)
то е сть k −2
yn +1 = a0 y0 + h ∑ bi f (xn−i , yn−i )
(30)
i =−1
Ко эффи ци е нтыме то да a0 , b−1 , b0 , b1 ,K, bk − 2 о п р е де ляю тся и з усло ви я ко р р е ктно сти (24). В это м случа е (24) п р и ме тви д
a0 = 1 1 ( −i ) j−1 bi = , ∑ j i =−1 k −2
j = 1,K, k .
(31)
О п р е де ли те ль это й си сте мы о тли че н о тнуля и , сле до ва те льно , суще ствуе т е ди нстве нно е р е ше ни е . Та ки м о б р а зо м, для лю б о го k р е ше ни е си сте мы (31) о дно зна чно о п р е де ляе т ме то д Ада мса -М улто на п о р ядка k (ме то д являе тся со сто яте льным). Д ля чи сле нно й р е а ли за ци и ме то да Ада мса -М улто на п о р ядка k тр е б уе тся k − 1 ста р то вых зна че ни й y n , y n−1 ,K, y n −k + 2 (ме то д являе тся (k − 1) - ша го вым).
12
Т абли ца2. А лго ри т м ы м ет о д аА д ам са-М улт о н а. По р ядо к Пе р вый В то р о й
Тр е ти й Ч е тве р тый
y n+1 = y n + hf ( xn+1 , y n+1 )
Алго р и тм (не явный ме то д Э йле р а )
1 1 y n+1 = y n + h f (x n+1 , y n+1 ) + f ( xn , y n ) (ме то д тр а п е ци й) 2 2 8 1 5 y n+1 = y n + h f ( xn+1 , yn+1 ) + f ( xn , y n ) − f ( xn−1 , y n−1 ) 12 12 12 19 5 1 9 y n+1 = y n + h f ( xn+1 , y n+1 ) + f ( xn , y n ) − f ( xn−1 , y n−1 ) + f (x n−2 , y n−2 ) 24 24 24 24
Св я зьн ея в н ы х м ет о д о в с м ет о д ам и п ро гн о за-ко ррекци и . За п и ше м а лго р и тм (22) не явно го (b−1 ≠ 0) мно го ша го во го п о ли но ми а льно й а п п р о кси ма ци и в ви де
ме то да
m
yn +1 = ∑ ( ai yn −i + hbi f ( xn−i , yn−i ) ) + hb−1 f (xn +1 , yn+1 ).
(32)
i =0
Д ля о п р е де ле ни я е ди нстве нно й не и зве стно й ве ли чи ны y n+1 п о луча е м и з (32) ур а вне ни е
yn +1 = F ( yn+1 ),
(33)
где m
F ( yn+1 ) = ∑ ( ai yn−i + hbi f (xn−i , yn−i ) ) + hb−1 f (xn+1 , yn +1 ).
(34)
i =0
Пусть f ( x, y ) удо вле тво р яе т усло ви ю Ли п ши ца с ко нста нто й Ln+1 п р и ( ( ( x = xn+1 для все х y ∈ [ y n+1 − δ , y n +1 + δ ] , δ > 0 , где y n+1 - то чно е р е ше ни е ур а вне ни я (33). Пр и вып о лне ни и усло ви я
h < b−1 Ln +1 < 1,
h
1 , то
yn → ∞ п р и
(43)
n → ∞ (да ж е в то м случа е , ко гда
ко р е нь zi - п р о сто й). Е сли zi - ко р е нь кр а тно сти li > 1 и zi = 1 , то и з (43) сле дуе т,
yn → ∞ п р и n → ∞ . Зам еч ан и е. Пр и σ = 0 зна че ни е z = 1 являе тся п р о стым ко р не м ха р а кте р и сти че ско го мно го чле на P(z,0) то гда и то лько то гда , ко гда
что
b−1 + b0 + b1 + K + bm ≠ 0 . Т ео рем а (кр и те р и й усто йчи во сти ме то до в п о ли но ми а льно й а п п р о кси ма ци и ). Со сто яте льный ме то д п о ли но ми а льно й а п п р о кси ма ци и (22), удо вле тво р яю щи й усло ви ю b−1 + b0 + b1 + K + bm ≠ 0 , усто йчи в (в т о м см ы сле, 15
чт о ло кальн ая алго ри т м и ч еская о ш и бка м ет о д а и о ш и бка о круглен и я о ст аю т ся о гран и ч ен н ы м и п ри д о ст ат о ч н о м ало й в ели ч и н е ш ага h ) то гда и i = 1,K m − 1 мно го чле на то лько то гда , ко гда все ко р ни ς i ,
P(z,0) z m+1 − a0 z m − a1 z m−1 − K − am ~ P (z ) = = z −1 z −1
(44)
та ко вы, что ς i ≤ 1, а те ко р ни , для ко то р ых ς i = 1 , п р о стые . Ко р ни мно го чле на (44) п р и нято на зыва ть п арази т н ыми . Зам еч ан и е. М е то ды Ада мса -Ба шфо р та и Ада мса -М улто на усто йчи вые . Д е йстви те льно , для эти х ме то до в a0 = 1 , a1 = a2 = Kam = 0 . По это му
P(z,0) z m+1 − z m ~ P (z ) = = = zm . z −1 z −1
Зде сь все ко р ни мно го чле на P (z ) р а вны нулю и , сле до ва те льно , ле ж а т внутр и е ди ни чно го кр уга . yn - р е ше ни е ур а вне ни я О б о зна чи м че р е з ~
~
m
m
i=0
i=−1
~ yn+1 =∑ai ~ yn−i +h∑bi f ( xn−i , ~ yn−i ) +δn ,
n =m,K, N −1
yi ( i = 0,1,K, m ). со ста р то выми зна че ни ями ~ Т ео рем а (о це нка гло б а льно й п о гр е шно сти мно го ша го во го ме то да п о ли но ми а льно й а п п р о кси ма ци и ). Пусть вып о лне нысле дую щи е усло ви я: 1. Пр а ва я ча сть ди ффе р е нци а льно го ур а вне ни я f ( x, y ) о п р е де ле на не п р е р ывна в о б ла сти D = [x0, x0 + H ]× (− ∞,+∞) и суще ствуе тко нста нта M > 0 , не за ви сяща я о т x та ка я, что в о б ла сти D
f (x, y ) − f ( x, z ) ≤ M y − z .
2. Пусть y€ ( x ) - то чно е р е ше ни е ур а вне ни я за да чи Ко ши (1) и ме е тна о тр е зке
[x0 , x0 + H ] не п р е р ывные
п р о и зво дные до п о р ядка k + 1 , ( k > 1) . 3. М е то д п о ли но ми а льно й а п п р о кси ма ци и (22) являе тся со сто яте льным и b−1 + b0 + b1 + K + bm ≠ 0 . i = 1,K m − 1 4. Пр и до ста то чно ма ло м h (h < h0 , h0 > 0) все ко р ни ς i , мно го чле на
P(z,0) z m+1 − a0 z m − a1 z m−1 − K − am ~ P (z ) = = z −1 z −1
та ко вы, что ς i ≤ 1, а те ко р ни , для ко то р ых ς i = 1 , п р о стые . 16
То гда для гло б а льно й о ши б ки ме то да (22) сп р а ве дли ва о це нка
y€ ( xn+1 ) − ~ yn+1 ≤
G 1− µ M
( 1 + µ M )Θ + xn δ + Khk exp(GLxn ), h
(45)
~ yn −i − y€ ( xn −i ) , δ = max δ j , δ j -ло ка льна я о ши б ка о кр угле ни я на где Θ = max 0≤ i ≤ m m≤ j ≤ N −1 j -о м ша ге , G, L, K - п о сто янные , за ви сящи е о т ко эффи ци е нто в фо р мулы (22) и п р а во й ча сти ди ффе р е нци а льно го ур а вне ни я
f (x, y ) и не за ви сящи е о т h ,
µ = hb−1 . И з (45) сле дуе т, что гло б а льна я о ши б ка ме то да п о ли но ми а льно й а п п р о кси ма ци и со сто и ти з тр е х ча сте й: 1) о ши б ка п р и вычи сле ни и ста р то вых зна че ни й, 2) сумма р на я а лго р и тми че ска я о ши б ка ме то да , ха р а кте р и зуе ма я ве ли чи но й p Kh , уб ыва ю ща я с уме ньше ни е м h , δ 3) о ши б ка о кр угле ни я, п р е дста вле нна я чле но м , ко то р ый р а сте т с h уме ньше ни е м h . По гр е шно сть, о че ви дно , р а сте т с уве ли че ни е м дли ны о тр е зка , на ко то р о м р а зыски ва е тся р е ше ни е . Зам еч ан и е. В се о п и са нные ме то ды р е ше ни я за да чи Ко ши (1) п е р е но сятся на си сте мыди ффе р е нци а льных ур а вне ни й
dY = F ( x, Y ( x)), dx где
Y = ( y1 , y2 ,K, ys ),
x0 ≤ x ≤ x0 + H ,
H > 0,
F = ( f1, f 2 ,K, f s ),
и ли
dy1 = f1 (x, y1 ( x),K, y s ( x )), dx dy2 = f 2 (x, y1 ( x),K, ys ( x)), dx … … .
dys = f s ( x, y1 ( x),K, y s ( x)). dx
17
Ф о р мулы со хр а няю тся в п р е ж не м ви де , нуж но то лько за ме ни ть y на Y , f на F . В о це нка х п о гр е шно сти а б со лю тна я ве ли чи на за ме няе тся на но р му ве кто р а . 6. Зад ан и е. Н а йди те на о тр е зке [0,1] р е ше ни е за да чи Ко ши для си сте мы о б ыкно ве нных ди ффе р е нци а льных ур а вне ни й
dy1 = f1 (x, y1 ( x ), y2 (x )), dx dy2 = f 2 (x, y1 ( x), y2 ( x)), dx
y1 (0) = y10 ,
y2 (0) = y20
−4 с то чно стью ε = 10 , ме то да ми Рунге -Кутта , Ада мса -Ба шфо р та че тве р то го п о р ядка и п р о гно за -ко р р е кци и (и сп о льзуя для п р о гно за а лго р и тм (37) и ко р р е кци и – ме то д Ада мса -М улто на че тве р то го п о р ядка ).
В ари ан т ы зад ан и й. № ва р и а нта
f1 (x, y1 ( x), y2 ( x) )
f 2 (x, y1 ( x), y2 ( x))
y10
y20
0,5
1,5
1
arctg (x 2 + y 22 )
2
x 2 y1 + y2
cos( y1 + xy 2 )
-1
1
3
x 2 + y22
xy1 y2
1
0
0
0
sin( x + y1 )
sin(x 2 + y 22 ) cos( y1 y 2 )
sin( y1 + y2 )
0
0
6
2 3x 2 + y12 + y1
x 2 + y12 + y2
0,5
1,2
7
y1 + y2
0
0
8
y12 + y 22
-1
1
1
1
0,7
-0,5
0
0
0,2
0
1
-1
0
0
4 5
9 10 11 12 13 14
(2 + y
(1 + y
+ y22 ) y1 y 2 2 1
+ y22 ) cos( x + y2 ) exp( y1 y 2 ) 1 ch (x + y 2 ) 2 1
cos( xy1 )
−1 / 2
exp(− y1 − y 2 ) sin( xy2 )
(1 + y
−1
+ y22 ) sin( x − y2 ) exp(− y1 y 2 ) 2 1
−1 / 2
sh(x 2 − y1 )
arctg ( y1 ) x + cos( xy1 )
18
№ ва р и а нта
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
f1 (x, y1 ( x), y2 ( x) )
f 2 (x, y1 ( x), y2 ( x))
sin( y1 y2 )
cos( xy1 y2 ) a = 0,05 a = 0,06 a = 0,07 a = 0,08 a = 0,09 2 axy2 + x y1 a = 0,1 a = 0,11 a = 0,12 a = 0,13 a = 0,14 a = 0,05 a = 0,06 a = 0,07 axy2 − y1 a = 0,08 a = 0,09 a = 0 ,1 a = 0 ,11
y2
y2
y10
y20
-1
2
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1/6 1/7 0,125 1/9 0,1 1/11 1/11 1/12 1/13 1/14 1/6 1/7 0,125 1/9 0,1 1/11 1/12
П ри ло жен и е. Д ля вып о лне ни я за да ни я мо ж но и сп о льзо ва ть сле дую щи е п р о це дур ы(на языке Па ска ль): 1) Пр о це дур а rung, р е а ли зую ща я а лго р и тм ме то да Рунге -Кутта че тве р то го п о р ядка (18): Procedure rung(h:real; var x0:real;var y0:vector; n:integer); {Входные параметры: h – шаг интегрирования системы; x0 – стартовое значение аргумента; y0 – массив, содержащий значения решения системы в точке x0; n - размерность системы. Выходные параметры: y0 – массив, содержащий значения решения системы в точке x0+h. Здесь vector - одномерный массив порядка n} var i:integer; begin 19
f(x0,y0,k1); for i:=1 to n do yt[i]:=y0[i]+0.5*h*k1[i]; f(x0+0.5*h,yt,k2); for i:=1 to n do yt[i]:=y0[i]+0.5*h*k2[i]; f(x0+0.5*h,yt,k3); for i:=1 to n do yt[i]:=y0[i]+h*k3[i]; f(x0+h,yt,k4); x0:=x0+h; for i:=1 to n do y0[i]:=y0[i]+(h/6)*(k1[i]+2*k2[i]+2*k3[i]+k4[i]) end;
ad , р е а ли зую ща я а лго р и тм ме то да Ада мса -Ба шфо р та 2) Пр о це дур а че тве р то го п о р ядка (см. Та б ли цу 1): Procedure ad(h:real;var yt:start;var y0:vector); {Входные параметры: h – шаг интегрирования системы; yt – двумерный массив порядка (n,4)(n-размерность системы),столбцы которого являются решениями системы в четырех стартовых точках. Выходные параметры: y0 – массив, содержащий решение системы в точке, отстоящей на 4h от первой стартовой. Здесь start – двумерный массив порядка (n,4), vector - одномерный массив порядка n, kof – одномерный массив порядка 4.} var i,j:integer; kf:kof; begin kf[1]:=-9.0/z; kf[2]:=37.0/z; kf[3]:=-59.0/z; kf[4]:=55.0/z; for i:=1 to n do for j:=1 to 4 do y0[i]:=y0[i]+h*yt[j,i]*kf[j] end;
3) Пр о це дур а ad_mult, р е а ли зую ща я а лго р и тм ме то да п р о гно за -ко р р е кци и : п р о гно з - явный ме то д (37), ко р р е кци я - ме то д Ада мса -М улто на че тве р то го п о р ядка (см. Та б ли цу 2). Procedure ad_mult(x0,h,eps:real;ys:start;var yc:vector); { {Входные параметры: x0 – первая стартовая точка решения системы; h - шаг интегрирования системы; eps- значение ε в условии окончания итерационного процесса при коррекции решения
(max y 1≤i ≤ n
[l +1]
i
)
− yi[l ] < ε ;
ys – двумерный массив порядка (n,3) (n-размерность системы), столбцами которого являются решения системы в трех стартовых точках. Выходные параметры: yc - массив, содержащий решение системы в точке, отстоящей на 3h от первой стартовой. Здесь start – двумерный массив порядка (n,3), vector - одномерный массив порядка n, kof – одномерный массив порядка 4.} 20
var i,j :word; yt :start; { yp,y :vector; { ka_m :kof; x :real; begin yp:=ys[3]; for j:=1 to 3 do f(x0+j*h,ys[j+1],yt[j]); ka_m[1]:=1/z; ka_m[2]:=-5/z; ka_m[3]:=19/z; ka_m[4]:=9/z; for i:=1 to n do yp[i]:=yp[i]+2*h*yt[3,i]; {прогноз} f(x0+4*h,yp,yt[4]); yc:=ys[4]; for i:=1 to n do for j:=1 to 4 do yc[i]:=yc[i]+h*yt[j,i]*ka_m[j]; while nr(yp,yc)>=eps do {nr – имя функции,вычисляющей норму разности двух векторов} begin yp:=yc; y:=ys[4]; f(x0+4*h,yc,yt[4]); for i:=1 to n do for j:=1 to 4 do y[i]:=y[i]+h*yt[j,i]*ka_m[j]; yc:=y end end; function nr(z,z1:vector):real; {vector - одномерный массив порядка n} var i :word; q :real; begin q:=0; for i:=1 to n do if abs(z1[i]-z[i])>=q then q:=abs(z1[i]-z[i]); nr:=q end;
Со ста ви те ль – Тр о фи мо в В а ле р и й Па вло ви ч Ре да кто р - Буни на Т.Д .
21