ΠΡ
ΠΎΠ΄Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ (Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ) ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ: nperUC — ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅ΠΌΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
; WRK2 — ΠΌΠ°ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ nperUC, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π² WRK2(1) Π·Π°ΡΡΠ΄Π½ΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Π΄Π΅Π½ΡΠ°ΡΠΎΡΠ΅ ΠΈ Π² WRK2(2) Π΅Π³ΠΎ ΡΠΌΠΊΠΎΡΡΡ.
ΠΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ fc2- Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎ Π²Ρ
ΠΎΠ΄Π½ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ fc2. Π¦Π΅Π»Π΅Π²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ fc 1 Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΏΠΏ DBCPOL ΠΈΠ· ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ IMSL (ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠΎΠΉ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠ΅Π»Π΅Π²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ fcl ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Π° ValueBCPOL). ΠΠ»Π³ΠΎΡΠΈΡΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΡΡΠΎΠΉ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ, ΠΎΠΏΠΈΡΠ°Π½ Π² ΠΏ. 2.8.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠ΅ΠΊΡΡ ΠΏΠΏ CALL_DBCPOL.
SUBROUTINE CALL_DBCPOL (nperUC, WRK2, ValueBCPOL).
use MSIMSL; use DESCRIBE; use DESCRIBE2; use OPTUC; IMPLICIT NONE.
INTEGER:maxfcn, nperUC.
REAL (8): WRK2(nperUC), ftol, fc2, fcl, tsr, ValueBCPOL EXTERNAL CALLJ DM UcO=WRK2(l); Emk=WRK2(2).
nVizov=0; maxfcn=1000; ftol=ld-7; nVizov2=0; fcMin=ld20.
kVizBCPOL=kVizBCPOL+l.
IF (optimizacia) THEN.
100 FORMATf fc2 UcO Emk, mkF Tsr, ms WcO, Dj kViz VdOpt, m/s Wkin, Dj').
IF (kVizBCPOL > kDopViz2) THEN; kVizBCPOL=0; write (*,*)'kDopViz2(DBCPOL)='(kDopViz2; Enter 0->STOP or 1->C0NTINUE' write (9,*)'kDopViz2(DBCPOL)=', kDopViz2,' Enter 0->STOP or 1->C0NTINUE'.
READ (*,*) i; if (i==0) STOP ENDIF.
CALL DBCPOL (CALL_IDM, npar, AR, 0, ZNIZWRK, ZVRXWRK, ftol, maxfcn, DTX, ValueBCPOL).
ENDIF l (optimizacia).
10 tsr=ValueBCPOL; fc2=ABS (ldO-tsr/tzad); j=0.
DO 1=1,7; IF (OPTPAR (i)) THEN; j=j+l; OPTXAR (i)=DTX (j);ENDIF; ENDDO.
IF (fc2.
WRITE (9," (' n fcl nwK twKr twKz rKatvn &.
& rDnar rDvn hDisk x v rKatNar')").
CALL CALL_IDM (npar, DTX, fcl).
WRITE (8,110)fc2,UcO, Emk, fcl, WcO, maxfcn+l, Vd_fclOpt, massPodv*Vd_fclOpt**2/2dO.
IVdjTlOpt-ΡΠΊΠΎΡ.Π΄ΠΈΡΠΊΠ° Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠ°Π±. ΠΠΠ.
WRITE (9,100);
WRITE (9,HO)fc2,UcO, Emk, fcl, WcO, maxfcn+l, Vd_fclOpt, massPodv*Vd_fclOpt**2/2dO lmaxfcn-ΠΊΠΎΠ».ΠΎΠ±ΡΠ°Ρ.ΠΊ CALLJDM ΠΈΠ· DBCPOL. +1 -Ρ.ΠΊ.ΠΏΠΎΡΠ»Π΅ CALLJDM Π΅ΡΡΡ Π΅ΡΡ 1 Π²ΡΠ·ΠΎΠ² WRITE!*, 100).
WRITE!*, H0) fc2, UcO, Emk, fcl, WcO, maxfcn+l, Vd_fclOpt, massPodv*Vd_fclOpt**2/2dO 110 FORMAT (3pF8.3,0pF8.1,6pF8.1,3pF8.B, 0pF8.3,i6,F9.2,F10.2).
END SUBROUTINE CALL_DBCPOL.