книги из ГПНТБ / Гемст В.К. Процедуры АЛГОЛ-60 в примерах [практикум]
.pdfF := - 2 .0 U X m .,
Xbi-o.o.,
YOs-i.O,,
'FOk 'Ks-I'STEP'i ’D.'ITIL’SO’DO*
’beg i,Г
HK2(XO,YO,O.OB,F,Xi,Yl);,
OUTPUT(3,’(I’),K).t
ОиТРиТ(3,*(Е*5,Х1,У1).,
XO:=Xl.,
YO:-Yi
’EMU*'
’EMO'TE вТЬьОСК
'ENO'PUOGRAMM.,
Результаты вычислений
|
X |
Метод Тунге-Кутта |
|
Точное |
решение |
||
|
I |
2 |
|
|
|
|
3 |
|
0,0 |
+1000 |
000 |
1-01 |
|
+1,0000 |
0000 |
|
0,1 |
+9900 |
787 |
+00 |
! |
+0,9900 |
9900 |
|
0,2 |
+9614 735 |
+00 |
: |
+0,9615 |
3845 |
|
|
0,3 |
+9173 |
165 |
+00 |
; |
+0,9174 |
3119 |
|
0,4 |
+8619 |
191 +00 |
; |
+0,8620 6896 |
||
|
0,5 |
+7998 |
407 |
+00 |
|
+0,8000 |
0000 |
|
0,6 |
+7351 |
515 +00 |
|
+0,7352 |
9411 |
|
|
0,7 |
+6710 |
339 +00 |
|
+0,6711 |
4093 |
|
. |
0,8 |
+6096 |
942 |
+00 |
|
+0,6097 |
5609 |
|
0,9 |
+5524 707 +00 |
' |
+0,5524 8618 |
|||
|
1,0 |
+5000 265 +00 |
|
+0,5000 |
0000 |
15Г
2.5.3. Метод Рунга-Куна третьего порядка •'Решить'дифференциальное уравнение первого порядка
а у |
|
= |
У(0) = I |
01 х |
1,0 и |
, |
в |
С,05 |
при х = 0,0 (0,1) |
п |
|||
Точное решение |
уравнения |
у |
= |
1/(1 + х2), |
Решение. Исходная программа:
- 01-
ТРАНСЛЯТОР МЭИ-8
* BEGIN*
•РНОСЕШЗЙЕ'ЫСЗ(XO,YO,H,F)REi3UbT:(Xl,Yl)., 'VAbUE*XG,YO,H.f
'HEAo’XO.YO.H.Xl.Yi., "кЕАЬ* 'PHOCEUURE’ P ., 'BEolN*
*REAu*Ki,K2,K3.,
X1:«*X0+H.,
KiS"? (XO,YO).,
K2:-?(X0+H/2.0,Y0+HXKl/2.0).,
КЗ :*>E (XO+H .Y0-HXK1+2.0XHX1C2). ,
YlV“Y.0+HX(';Cl+4.0XtC2+K3)/6;0
'ЕНО'йКЗ.,
TESTBbOCK:
* BEJIH*
*Inte ger*e .,
’REAu*XO,YO,Xl,Yl.,
*HEAu**PROCEOURE*F(X,Y).,
152
'VALUE *X,Y,,
'real *x ,y ,,
F:— 2.0XXXYXY.,
X 0:»0.0.,
VOi-l.O.,
'i’bu'!U-l’S7EP*l'Bfl?IL’20'D0* *BEGI'Г
RiC3(X0,Y0,0.0S,f)RESULT: (XI,Yl)i, 0UTPUT(3,' (I "), K)., 0UTP0T(3,V(B*)tXifY i).t , XO:-Xi.,
У0:*Л#1 ’Еда*
'E.IO’TELTBuOCIC
'e m u ’piiogramm.,
Результаты вычислении.
X |
Метод |
Рунге-Кутта |
Точное |
решение |
||
I |
|
|
2 |
|
|
3 |
0,0 |
+1,0000 |
000 |
+1,0000 |
0000 |
||
0,1 |
т9901 |
030 +00 |
+0,9900 9900 |
|||
0,2 |
+9615 |
460 +00 |
+0,9615 |
3845 |
||
0,3 |
+9174 |
410 +00 |
+0,9174 |
3119 |
||
0,4 |
+8620 |
797 |
+00 |
+0,8620 |
6896 |
|
0,5 |
+8000 |
104 |
+00 |
+0,8000 |
ООСО |
|
0,6 |
+7353 |
032 |
+00 |
+0,7352 |
9411 |
|
0,7 |
+6711 |
481 |
+00 |
+0,6711 |
4093 |
|
0,8 |
+6097613+00 |
+0,6097 |
5609 |
|||
0,9 |
+5524 |
895 |
+00 |
+0,5524 |
8618 |
|
1,0 |
+5000 017 |
+00 |
+0,5000 |
ОООи |
153
2.5,4, |
Метод Рунге-Куттз четвертого |
порядка |
||
|
|
(стандартная формула) |
|
|
Решить дифференциальное уравнение первого порядка |
||||
“ |
|
= -гху2 , |
у(0) |
= I |
Of |
х |
|
k =* 0,05. |
|
при X = 0,0 (ОД) |
1,0 и |
|
||
Точное решение |
уравнения |
у = 1/(1 + х2). |
|
|
Решение, Исходная программа: |
|
-01-
ТРАПСЛЯТОР МЭИ-S
•SEGI.-1*
*Р,сОСЕJilrvS*kll4(X0,Y0,K,F)RF.SULiT:(XI,У1) ,,
*VAuUE*XOfYO,K.,
'i<^’r.o,yo,K,xi,Yi.,.
'USA-Д *PP.CCFOGP.E
’arc:
. .1,-.2 , • ,
Xi:**XO+K.,
;:i:-KSF(r.o,vo).,
:-:2:»hXP(X0+h/2.0,Y0+ui/2,0).,
iiSi-hXP (Х0*Ь/2.О,УО+:’2/2.0)., ;.4:»P;XF(Xi,Y0+:;s).,
y i:■=y o +(:;i 4+2.ox(;<2+::s))/8.о
E-lb1нКЧ.
TECTROOC;::
*begT ;*
*1 iTEGEii*,
'.■.EA.u*X0,Y0<Xi,Yl,,
154
"HEAD" ‘PiiOCEJUHE*F (X,Y).,
'VAbUE'X.Y.,
'ftEAi/X.Y.,
F:— S.OXXXYXY.,
X0:-0.0.,
YOs-l.O.,
*TOK* K:“l’STFP ’i’UX'TIu’яо’DO*
’BEGIN*
HK4(XO,YO ,Ci.06,F)HESUbT :(Xl,Yl).,
output (г,’( Г м ) . ,
0UTPUT(S,4O.*l,Yl).t
XO:-Xi.,
YOt-Yi
END
’EUJ'TEHTBbOCK
’END’PkOGRAMM.,
Результаты вычислении
X |
Метод Рунге-Кутта |
Точное решение |
|||
0,0 |
+1000 |
000 |
+01 |
+1,0000 |
0000 |
0,1 |
+9900 |
990 |
+00 |
+0,9900 |
9900 |
0,2 |
+9615 |
384 |
+00 |
+0,9615 |
3845 |
0,3 |
+9174 |
311 |
+00 |
+0,9174 |
3119 |
0,4 |
+8620 689 |
+00 |
+0,8620 |
6896 |
|
0,5 |
+7999 |
999 |
+00 |
+0,8000 |
0000 |
0,6 |
+7352 |
940 |
+00 |
+0,7352 |
9411 . |
0,7 |
+6711 |
409 |
+00 |
+0,6711 |
4093 |
0,8 |
+6097 |
561 |
+00 |
+0,6097 |
5609 |
0,9 |
+5524 |
862 |
+00 |
+0,5524 |
8618 |
1,0 |
+5000 |
000 |
+00 |
+0,5000 |
0000 |
155
Hz.5,5. "етод Р.унге-Култа .четвертого порядкд
£ & § *1^.Ма,ТИЧОС КИМ К *Ш6116 НИ 01* Гс^ ИКИ?в Г РИ Р О *
зания Ремиг» ли.|.к«ревциальное уравярние /гервого порядка
О' у |
? |
у(0) = I ' |
---- ~ |
- -2ху*. |
ах
при х = 0,0 (0,1 ; 1,0, h • 0,05, maxtoi* 0,001. mini о/ - Iо"3.
Точное решение уравнения у - 1/(1 + *2). Резонна» '.'сходная программа т
-01-
■ГРАНСДЯТОГ- НЭР-Я
'BEG1:;'
*т и ” f Kcctvuяг *ал1 ip г(?,х,v,кс-,уо,х■чп ,ка хтои гмш ом,и,с
,П0ИТ).,
’vAuUE ’ХО,УС,ХМлХ,УДХТС«,И1.ЧТО».тН,С,BOUT,,
’KEA./f ,Х |
Y ,XC,Y0,XM*X,M#.5Tt ,М1;«Ом,h. , |
I "il t'GEtS |
С» , |
’ВОС^ЕХЧ'ИСС'.-,,
’B r s i- r
пЕАа л »., :l JИ. . ,
*I«EG£,.'rf,4..
а Р Р Й !’ ¥ Г {/ С ;С /) , ,
’.<ЕАи • ,p«ri-^at.i«£’*M*s':os(x i , у ц д ) .,
'VA^OE’X l . Y l . G . ,
’Ш ,м ’Х1,У1,е.,
’ BFGIH*
tvFAu x *«Су v f
156
'INTEGER'S., IKC:«0;0.f
’FOR’ S:«1'STEP* 1’UNTIb '4*00 '
"begin*
R s“ 'IF ’s» 4 ’тн-en ’i ’else '0 .6.,
X x“Xl+( 'IP *f>l ’THEM'o 'EIjSE’rxg) .,
Y:»Yi*( '1Г 'S-l 'THEN '0 *Ei,SE*RXK) . , •
K:»GXF.,
INC j"I,4C+KX( ’ IP *S"i ’0R'S»4"THEN'*i,’EJjSE'2)
‘end’ .,
RKSTEPs-Yl+INC/6.0 'END *RKSTEP,,
'FOR * M 1,M+i'WHILE'XQ ’bT 'XMAX-CXH 'AND'DIEF ’ ЬТ'МАХТОЬТ»
0'
’BEGIN*
’ i p ’i m ’then’
’ b eg in ’
YP(/0/)s-Y0.,' J
XQ:»XO
*END"fi„.'* " ip ’d ip ? 'c,7 'МГТОЬ’ТНЕЯ'К s“H/2,0*EbiSE ’ ’BEGIN’
XQ:»XQ*CXH,,
YP(/0/):-YP(/C/},,
'I? ’DIFF ’;<T iTGu’TiiEN’« J'S.OXii.,
’IF 'KEY(4) *ТЙЕК*0UTP07{3, *(Я ’ ) ,X<SД Р (/0/ )) ’END*.,
*POft*В?»O’fiTF.p*1*Иrffl:/0~i'00 *1fJ?(/ У ♦4/ ) :* .ШТКР(XCWi
157
ЛГч АВС(УР( / С/)-RKSTEP(XQ+ ( С-2)ХН,УР (/С-2/ ), 2ХН)) /
' 15.0
*ЕЧ!)\, N:=E;;TISa(XKAX-XQ)/H.,
,v^lP3:=YP(/N/)+(XMAX-XQ-MXB)X(YP(/H+l/)~YP(/N/))/H 'END'RK11P3.,
TEST3L0CK: 'BEGIN* •'
'INTEGER*K,C,,
'REAu 'X0,Y0,X,Y,XMAX,MAXTOR,m i n t o l .h ., 'BOOJ»4N'BOUT.,
XOt-O.O.,
У05-1.0.,
’FOR'К:»! 'STEP* 1'UNTIL *10*1)0'
‘b e g i n '
YO:» RK11P3 (-2.0ХХХУГУ,X,У ,X0,Y0,KX0. 1,0 .001,Ю-5,0.1, 2 ,''FALSE').,
X0:»0.1XK.,
- 02-
0UTPUT(3,'(l’ ),K )., 0UTPUT(3,’ (E’ ),X0,Y,Y0)
'END*
'eno'testblock
’'ENO'PROGRAMM.,
Результаты вычислений
X |
Метод Рунге-Кутта+') |
Точное решение |
|||
0,0 |
+1000 |
000 |
+01 |
+1,0000 |
0000 |
о д |
+9900 |
989 |
+00 |
+0,9900 |
9900 |
0,2 |
+9615 |
381 |
+00 |
+0,9615 |
3845 |
0,3 |
+9174 |
305 |
+00 |
+0,9174 |
3119 |
0,4 |
+8620 |
681 |
+00 |
+0,8620 6896 |
|
0,5 |
+7999 |
992 |
+00 |
+0,8000 |
0000 |
0,6 |
+7352 |
935 |
+0C |
+0,7352 |
9411 |
0,7 |
+6711 |
406 |
+00 |
■+0,6711 |
4093 |
0,8 |
+6097 |
561 |
+00 |
+0,6097 |
5609 |
0,9 |
+5524 |
865 |
+00 |
+0,5524 |
8618 |
1,0 |
+5000 |
006 +00 |
+0,5000 0000 |
+Приводятся данные фактического параметра уо. фактичес кий параметр у является глобальной переменной.
2.5.6, Метод Рунге-Кутта пятого порядка (формула Кутта-Марсона)
Решить дифференциальное уравнение первого порядка
|
— |
~ |
= _2ху^, |
у(0) - I |
|
|
й |
х |
|
|
|
при х = 0,0 |
(0,1) |
1,0 |
и |
k = 0,05. |
|
Точное решение |
уравнения |
у - 1/(1 + х^). |
|||
Решение. |
Исходная |
программа: |
|||
|
|
|
- 01- |
|
|
|
|
ТРАКСЛЯТОР мэи-з |
|||
’BEGI4'' |
|
|
|
|
|
*РаОСЕХ.З*к.'-5(Х0,Y0,H,Р)KEGUbT: (XI,9,Y1).,
‘VA^CE’XO.YO.H.,
159
'h e a l*’p r o c e d u r e’г .,
’ BEGIN* 'йЕАЬ*К1,К2,КЗ,КЧ,Кб;, Xi s^XO+li,,
Kii” ?(X0,YO)/3,O.,
K2s"F(X0+H/8.0,YO+HXK1)/B;0;,
u35"?(X0+H/3»0,Y0+HXKl/2.0+HXK2/2i0}/3,0 .,
K4i“ " (X0+H/2.0,Y0+3.0XhXKl/8; 0+9; 0XHXK3/8.0//3.0 ,,
K6 ;=? (XO+H,YO+3.0ХНХК1/2.0-2.0ХЫКЗ/2.0+6.ОХНХКЧ)/3.0
YlJ=Y0+HX(Kl+4.0XK4+K5),'2.0.,
E:»liX(Ki>-9.0Xra/2.0+4;6XK4-K6/2.0)/6.0
‘емо'к ^.,
TESTBbOCK!
’BEGIN*
*INTEGER* 4 ., *REAli’XO,YO,Xi,Yl,E., *REAb* ’PftOCEOORE’F (X,Y)., *VAiiOE*X,Y.,
*UEAii*X,Y., Pi— 2.0XXXYXY;, Xb:»0.0., YOj»i.O«*
*FOR‘ Ki-l*STEP*l*trnTIb‘ SO*DO*
’BEG11^ RK6(X0,Y0,O.06,FtXl,E,Yi)., 0UTP0T(3,* (I*),!().,