Файл: Гемст В.К. Процедуры АЛГОЛ-60 в примерах [практикум].pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 27.07.2024

Просмотров: 111

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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*),!().,


OUTPUT(3, ’(E'),X1,E,Y1).,

XO:-Xl.,

VO-.-Yi

"EHO"'

•Е.ЧО'ТЕ^ТВьОСК

'Е'Ы’РиООЯАММ.,

Результаты вычислений

 

 

X

Методом Рунге-Кутта

 

У

 

 

Е

 

 

 

0,0

+1000 000 +01

 

-

0,1

+9900

990 +00

-2568 936 -06

0,2

+9615

384

+00

-1699 151 -06

0,3

+9174

311 +00

-5236 826 -07

О Л

+8620

689

+00

+5266

163 -07

0,5

+7999 999

+00

+1199

310 -06

0,6

+7352

940

+00

+1470

791 -06

0,7

+6711

408

+00

. +1447

228 -06

0,8

+6097

560

+00

+1260 498 -06

0,9

+5524

861

+00

+1016

II9 -06

1,0

+4999

999

+00

+7811

468 -07

Точное

решение

+1,0000 0000

+0,9900 9900

+0,9615 3845

+0,9174 3119

+0,8620 6896

+0,8000 СОСО

+0,7352 94И

+0,6711 4093

+0,6097 5609

+0,5524 8618

+0,5000 0000

2.5.7, Метод Рунге-Хутта четвертого порядка для систем дифференциальны^ уравнений первого

поряди Решить систему дифференциальных уравнений первого порядка

- - - - - - = 2х - 3yr - 4у2,

yj(0) = О,

d х

 

161