Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π°Π½Π°Π»ΠΈΠ·Π° ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡ Π΅ΠΌ ΡΠ·Π»ΠΎΠ²ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ
Π¦Π΅Π»Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ: ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π°Π½Π°Π»ΠΈΠ·Π° ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡ Π΅ΠΌ ΡΠ·Π»ΠΎΠ²ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ: ΠΠ΄Π΅ ΠC — ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΡΠ° ΠΈΠ½ΡΠΈΠ½Π΄Π΅Π½ΡΠΈΠΉ ΡΠ·Π»ΠΎΠ² ΠΈ ΡΠΌΠΊΠΎΡΡΠ½ΡΡ Π²Π΅ΡΠ²Π΅ΠΉ; AR — ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΡΠ° ΠΈΠ½ΡΠΈΠ½Π΄Π΅Π½ΡΠΈΠΉ ΡΠ·Π»ΠΎΠ² ΠΈ ΡΠ΅Π·ΠΈΡΡΠΈΠ²Π½ΡΡ Π²Π΅ΡΠ²Π΅ΠΉ, ΠΈ Ρ. Π΄. ΠΡΡ ΠΎΠ΄Π½ΡΠΌ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π²Π½ΠΎΠ²Π΅ΡΠΈΡ ΡΠΎΠΊΠΎΠ² Π² ΡΠ·Π»Π°Ρ . ΠΡΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π² ΠΌΠ°ΡΡΠΈΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅: ΠΠΎΡΠ΅Π½ΠΊΠΎΠ² Π. Π. «ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π°Π½Π°Π»ΠΈΠ·Π° ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡ Π΅ΠΌ ΡΠ·Π»ΠΎΠ²ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π€ΠΠΠΠ£ ΠΠΠ «ΠΠΎΡΠ΄ΠΎΠ²ΡΠΊΠΈΠΉ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ ΠΈΠΌ. Π.Π. ΠΠΠΠ ΠΠΠ»
Π€Π°ΠΊΡΠ»ΡΡΠ΅Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΠ°ΡΠ΅Π΄ΡΠ° ΡΠΈΡΡΠ΅ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠ’Π§ΠΠ’
ΠΎ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ
ΡΡΡΠ΄Π΅Π½ΡΠ° 5-Π³ΠΎ ΠΊΡΡΡΠ°
ΡΠ°ΠΊΡΠ»ΡΡΠ΅ΡΠ° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ
(ΡΠΏΠ΅Ρ. ΠΏΡΠΈΠΊΠ»Π°Π΄Π½Π°Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ° ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ°)
Π³ΡΡΠΏΠΏΠ° 503
Π¨ΠΈΡΠΊΠ°Π½ΠΎΠ²Π° Π. Π.
ΠΡΡΠ΅Ρ ΠΏΡΠΈΠ½ΡΠ»
Π΄.Ρ.Π½., ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π.Π€.ΠΠ΅Π»ΠΎΠ²
Π‘Π°ΡΠ°Π½ΡΠΊ 2013
1. ΠΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Ρ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π΄Π»Ρ ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΠΏΡΠΈ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠ·Π»ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°
2. ΠΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ·Π»ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π² ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊ ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ
3. Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
4. ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ²
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ Π²Π°ΡΠΈΠ°Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠ·Π»ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡ Π΅ΠΌ.
Π¦Π΅Π»Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ: ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π°Π½Π°Π»ΠΈΠ·Π° ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡ Π΅ΠΌ ΡΠ·Π»ΠΎΠ²ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ:
1) Π Π°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡ Π΅ΠΌΡ;
2) Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡ Π΅ΠΌ;
3) Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π°Π½Π°Π»ΠΈΠ·Π° ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡ Π΅ΠΌΡ ΡΠ·Π»ΠΎΠ²ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ;
1. ΠΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Ρ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π΄Π»Ρ ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΠΏΡΠΈ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠ·Π»ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΡΠΈΡΡΠ΅ΠΌ Π² ΡΡΠ΄Π΅ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ·Π»ΠΎΠ²ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄. ΠΡΠ΄Π΅ΠΌ ΠΈΠ·Π»Π°Π³Π°ΡΡ ΡΠ·Π»ΠΎΠ²ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ²Π΅Π΄ΡΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Ρ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π΄Π»Ρ ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌ.
I, U, Ρ - Π²Π΅ΠΊΡΠΎΡΡ-ΡΡΠΎΠ»Π±ΡΡ ΡΠΎΠΊΠΎΠ², Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΠ·Π»ΠΎΠ²ΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΠΎΠ² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΠ°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΠ²ΠΈ Π΅ΡΡΡ ΡΠ°Π·Π½ΠΎΡΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΠΎΠ² ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ½ΡΡ Π΅ΠΉ ΡΠ·Π»ΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ U ΠΈ Ρ Π΄Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΌΠ°ΡΡΠΈΡΡ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠΉ:
(1.1)
Π³Π΄Π΅ — ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ°.
Π Π°Π·Π΄Π΅Π»ΠΈΠΌ Π²Π΅ΡΠ²ΠΈ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΠΉ ΡΡ Π΅ΠΌΡ Π½Π° Π³ΡΡΠΏΠΏΡ ΡΠΌΠΊΠΎΡΡΠ½ΡΡ , ΡΠ΅Π·ΠΈΡΡΠΎΡΠ½ΡΡ . ΠΈΠ½Π΄ΡΠΊΡΠΈΠ²Π½ΡΡ Π²Π΅ΡΠ²Π΅ΠΉ ΠΈ Π²Π΅ΡΠ²Π΅ΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΡΠΎΠΊΠ°, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π²Π΅ΡΠ²ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ. ΠΡΠ΄Π΅ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΡΠΈ Π³ΡΡΠΏΠΏΡ Π²Π΅ΠΊΡΠΎΡΠ°ΠΌΠΈ ΡΠΎΠΊΠΎΠ² IC, IR, IL, Ij ΠΈ Π²Π΅ΠΊΡΠΎΡΠ°ΠΌΠΈ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠΉ UC, UR, UL, Uj ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Ρ. Π΅.
ΠΠ°ΡΡΠΈΡΡ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠΉ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π½Π° ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΡΡ:
,
Π³Π΄Π΅ ΠC - ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΡΠ° ΠΈΠ½ΡΠΈΠ½Π΄Π΅Π½ΡΠΈΠΉ ΡΠ·Π»ΠΎΠ² ΠΈ ΡΠΌΠΊΠΎΡΡΠ½ΡΡ Π²Π΅ΡΠ²Π΅ΠΉ; AR - ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΡΠ° ΠΈΠ½ΡΠΈΠ½Π΄Π΅Π½ΡΠΈΠΉ ΡΠ·Π»ΠΎΠ² ΠΈ ΡΠ΅Π·ΠΈΡΡΠΈΠ²Π½ΡΡ Π²Π΅ΡΠ²Π΅ΠΉ, ΠΈ Ρ. Π΄.
ΠΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΡΡ ΡΠΌΠΊΠΎΡΡΠ΅ΠΉ Π‘, ΡΠΎΠΏΡΠΎΡΠΈΠ²Π»Π΅Π½ΠΈΠΉ R, ΠΈ ΠΈΠ½Π΄ΡΠΊΡΠΈΠ²Π½ΠΎΡΡΠ΅ΠΉ L — ΠΈΡ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ°Π²Π½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°.
;; ;
2. ΠΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ·Π»ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π² ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊ ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ·Π»ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅:
1.Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±Π°Π·ΠΈΡΠ½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ·Π»ΠΎΠ²ΡΠ΅ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Ρ;
2.ΠΡΡ ΠΎΠ΄Π½ΡΠΌ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π²Π½ΠΎΠ²Π΅ΡΠΈΡ ΡΠΎΠΊΠΎΠ² Π² ΡΠ·Π»Π°Ρ . ΠΡΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π² ΠΌΠ°ΡΡΠΈΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅:
AI=0, ΠΈΠ»ΠΈ ACIC + ARIR + ALIL + AUIU (2.1)
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΡΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π² ΠΌΠ°ΡΡΠΈΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅:
(2.2)
(2.3)
(2.4)
ΠΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° (2.2) — (2.4) Π² (2.1) Π΄Π°ΡΡ:
(2.5)
Π³Π΄Π΅ IU Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ, , t, Ρ. Π΅. .
Π‘ΠΈΡΡΠ΅ΠΌΠ° (2.5) Π½Π΅ΡΠ΄ΠΎΠ±Π½Π° Π΄Π»Ρ ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ. Π ΡΠ»ΡΡΠ°Π΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Π΅Ρ ΡΠ²ΠΎΠ΄ΡΡ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ Π°Π»Π³Π΅Π±ΡΠ°ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ Π€ΡΡΡΠ΅ ΠΈΠ»ΠΈ ΠΠ°ΠΏΠ»Π°ΡΡΠ°. Π ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΈΡΡΠ΅ΠΌΠ° (2.5) ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΡ Π°Π»Π³Π΅Π±ΡΠ°ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈ ΡΡΠ°Π½ΡΡΠ΅Π½Π΄Π΅Π½ΡΠ½ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ ΠΏΡΡΡΠΌ Π·Π°ΠΌΠ΅Π½Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠ°Π·Π½ΠΎΡΡΠ΅ΠΉ:
Π³Π΄Π΅ h-ΡΠ°Π³ Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎ ΠΎΡΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (ΡΠ°Π³ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ), ΠΈΠ½Π΄Π΅ΠΊΡ n ΠΈΠ»ΠΈ ΠΏ-1 Ρ Π²Π΅ΠΊΡΠΎΡΠ° Ρ ΠΎΡΠ½ΠΎΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΊ n-ΠΌΡ ΠΈΠ»ΠΈ ΠΊ (n-1)-ΠΌΡ ΡΠ°Π³Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΠ°ΠΊΠ°Ρ Π·Π°ΠΌΠ΅Π½Π° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π³Π΅ ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ. Π ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌ, Π°ΠΏΠΏΡΠΎΠΊΡΠΈΠΌΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΡΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ (2.2) ΠΈ (2.4):
' (2.6)
ΠΈ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΠΌ Π² (1.9) Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΎΠΊΠΎΠ², ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ ΠΏ- ΠΌΡ ΡΠ°Π³Ρ. Π’ΠΎΠ³Π΄Π°
.
ΠΈ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Ρ ΡΡΡΡΠΎΠΌ (1.8):
(2.7)
ΠΠΎΠ»ΡΡΠ΅Π½Π½Π°Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π°Π»Π³Π΅Π±ΡΠ°ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈ ΡΡΠ°Π½ΡΡΠ΅Π½Π΄Π΅Π½ΡΠ½ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Ρ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ Π²Π΅ΠΊΡΠΎΡΠΎΠΌ ΡΠΏ.
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΈ ΠΊ Π½Π°ΡΠ°Π»Ρ n-Π³ΠΎ ΡΠ°Π³Π° ΡΠΆΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½Ρ. Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ (2.7) Π΄Π°ΡΡ Ρ, Π΄Π°Π»Π΅Π΅ ΠΏΠΎ (1.8) ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Un ΠΈ ΠΏΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΡΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡΠΌ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ IΠΏ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ Π²ΡΠ΅ ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ (ΠΏ+1) -Π³ΠΎ ΡΠ°Π³Π°. ΠΡΠΈ ΠΏ=1 Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡΡΠΎ Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ.
3. Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠΎΠ΄ΡΠ»Ρ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΉ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ.
4. ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ·Π»ΠΎΠ²ΠΎΠΉ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π»ΠΈΡΡΠΈΠ½Π³
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons, Grids, Menus, ToolWin, ComCtrls, Unit3,
ValEdit, Unit4, Unit5,Unit6, TeeProcs, TeEngine, Chart, Series, ShellAPI, ComObj;
type
TSet=set of 'A'.'X';
TRec=record
image:TImage;
lab:TLabel;
val:real;
end;
TForm1 = class (TForm)
Image1: TImage;
Image2: TImage;
StringGrid1: TStringGrid;
Label3: TLabel;
ColorDialog1: TColorDialog;
MainMenu1: TMainMenu;
N1: TMenuItem;
Edit1: TMenuItem;
PopupMenu1: TPopupMenu;
rotation: TMenuItem;
SetValue1: TMenuItem;
ToolBar1: TToolBar;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton7: TSpeedButton;
SpeedButton5: TSpeedButton;
StringGrid3: TStringGrid;
Shape1: TShape;
SpeedButton4: TSpeedButton;
StringGrid4: TStringGrid;
Delete2: TMenuItem;
Analaze1: TMenuItem;
Matrix1: TMenuItem;
name1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
Label1: TLabel;
Button1: TButton;
Button2: TButton;
Button9: TButton;
OpenDialog1: TOpenDialog;
N6: TMenuItem;
N7: TMenuItem;
SaveDialog1: TSaveDialog;
Button3: TButton;
Edit2: TEdit;
Label2: TLabel;
Edit3: TEdit;
Label4: TLabel;
procedure FormCreate (Sender: TObject);
procedure SpeedButton2Click (Sender: TObject);
procedure Image1MouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image1MouseMove (Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image2MouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure rotationClick (Sender: TObject);
procedure SetValue1Click (Sender: TObject);
procedure Image2MouseMove (Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Delete2Click (Sender: TObject);
procedure Image1MouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Matrix1Click (Sender: TObject);
procedure N2Click (Sender: TObject);
procedure N3Click (Sender: TObject);
procedure N4Click (Sender: TObject);
procedure N5Click (Sender: TObject);
procedure FormShow (Sender: TObject);
procedure FormActivate (Sender: TObject);
procedure Button1Click (Sender: TObject);
procedure Button2Click (Sender: TObject);
procedure Button9Click (Sender: TObject);
procedure N7Click (Sender: TObject);
procedure Button3Click (Sender: TObject);
private
{ Private declarations }
public
procedure RepaintImage (value:string;del:boolean;change:boolean);
function Snap (P:TPoint):TPoint;
function Con (k:integer):integer;
procedure Link;
procedure InsertToMatrix;
procedure Rotate (P:TPoint);
procedure SetVal (P:TPoint);
procedure RefreshList;
procedure Del (P:TPoint);
procedure RefKnot;
procedure Paste (P:Tpoint;move:boolean);
procedure Gen_main_Matr;
procedure Gen_matr_bb (var h: real);
procedure Gen_matr_B (var h: real);
function Pos (P:TPoint):string;
function Gauss: boolean;
procedure Calculate (var h: real);
procedure CalcProc;
function Check: boolean;
procedure Chart (var j: real);
procedure CreatSeries;
procedure RefreshMatr1;
procedure Disable;
function SaveAsExcelFile (stringGrid: TstringGrid; FileName: string): Boolean;
end;
var
Form1: TForm1;
R_el:array [1.10] of TRec; //ΠΌΠ°ΡΡ. ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
L_el:array [1.10] of TRec;
C_el:array [1.10] of TRec;
J_el:array [1.10] of TRec;
P_el:array [1.100] of TShape;
Point_matr:array [1.100] of byte; // ΠΌΠ°ΡΡ. ΠΊΠΎΠ». ΡΠ·Π»ΠΎΠ²
Clr_matr:array [1.100] of TColor; //ΠΌΠ°ΡΡ. ΡΠ²Π΅ΡΠ° ΡΠ·Π»Π°
//***********************************************************
Matrix:array of array of integer; //ΠΌΠ°ΡΡΠΈΡΠΈ ΠΈΠ½ΡΠ΅Π΄Π΅Π½ΡΠΈΠΉ
pR:array of array of Double; //ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ. ΠΌΠ°ΡΡ. ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
pC:array of array of Double;
pL:array of array of Double;
AR:array of array of integer; //ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΡΡ, ΠΌΠ°ΡΡΠΈΡΠΈ ΠΈΠ½ΡΠ΅Π΄Π΅Π½ΡΠΈΠΉ
AC:array of array of integer;
AL:array of array of integer;
AJ:array of array of integer;
B:array of array of Double; //ΠΌΠ°ΡΡ. Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ
bb:array of Double;
XR, XC, XL, XJ, XL0:array of Double; //ΠΌΠ°ΡΡ. Ρ.ΠΏ. ΡΠΈΠΏΠ° ΠΏΠΎΡΠ°ΠΊΠ°
YR, YC, YL, YJ, YC0:array of Double; //ΠΏΠΎΠ΄ΠΌΠ°ΡΡ. Ρ.ΠΏ. ΡΠΈΠΏΠ° ΠΏΠΎΡΠ΅Π½Ρ.
Y:array of Double; // ΠΌΠ°ΡΡ. Ρ.ΠΏ. ΡΠΈΠΏΠ° ΠΏΠΎΡΠ΅Π½Ρ.
step:real;
dim_n, dim_m:integer; //ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΡΠΈ Π
mR, mC, mL, mJ: integer; //ΠΊΠΎΠ»-Π²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² R, C…
Clicks: byte; //ΠΊΠΎΠ»-Π²ΠΎ ΠΊΠ»ΠΈΠΊΠΎΠ² Π½Π° ΡΡ Π΅ΠΌΠ΅
//Π½ΡΠΆΠ½Π° Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π΅Π½Π½ΡΡ
//************************************************************
flagR, flagC, flagL, flagP, flagJ, flag_l1,flag_l2:Boolean;
flag_move:boolean;
countR, countL, countC, countJ, countP: Byte;
temp_label, temp_el:string;
temp_value:real;
Start, Stop: TPoint;
point_count:integer;
Matr1:array [0.39,0.39] of string; // ΠΎΡΠ½ΠΎΠ². ΠΌΠ°ΡΡΠΈΡΠ° ΡΠ²ΡΠ·ΠΈΠΉ
Matr2:array [0.39,0.39] of integer; //ΠΌΠ°ΡΡΠΈΡΠ° ΡΠ°ΡΡΠ΅ΡΠ° ΠΏΡΡΠΈ
MySet:TSet;
link_color:TColor;
Mouse_pos:TPoint;
implementation
{$R *.dfm}
{$R file. res file.rc}
//***************************ΠΠΠΠ 1*************************
procedure TForm1. CreatSeries; //ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΡΠΈΠΉ Π³ΡΠ°ΡΠΈΠΊΠΎΠ²
var i, k: integer;
Ser1,Ser2:TChartSeries;
begin
for i:=0 to mR-1 do
begin
Ser1:=TLineSeries.Create (form4);
Ser2:=TLineSeries.Create (form4);
Form4.Chart1.AddSeries (Ser1);
Form4.Chart2.AddSeries (Ser2);
Ser1.Title:=R_el[i+1]. lab. Caption;
Ser2.Title:=R_el[i+1].lab.Caption;
Ser1.Marks.Style:=smsXValue;
Ser2.Marks.Style:=smsXValue;
end;
k:=0;
for i:=mR to (mR+mC-1) do
begin
Ser1:=TLineSeries.Create (form4);
Ser2:=TLineSeries.Create (form4);
Form4.Chart1.AddSeries (Ser1);
Form4.Chart2.AddSeries (Ser2);
Ser1.Title:=C_el[k+1]. lab. Caption;
Ser2.Title:=C_el[k+1].lab.Caption;
Ser1.Marks.Style:=smsXValue;
Ser2.Marks.Style:=smsXValue;
inc (k);
end;
k:=0;
for i:=(mR+mC) to (mR+mC+mL-1) do
begin
Ser1:=TLineSeries.Create (form4);
Ser2:=TLineSeries.Create (form4);
Form4.Chart1.AddSeries (Ser1);
Form4.Chart2.AddSeries (Ser2);
Ser1.Title:=L_el[k+1]. lab. Caption;
Ser2.Title:=L_el[k+1].lab.Caption;
Ser1.Marks.Style:=smsXValue;
Ser2.Marks.Style:=smsXValue;
inc (k);
end;
k:=0;
for i:=(mR+mC+mL) to (mR+mC+mL+mJ-1) do
begin
Ser1:=TLineSeries.Create (form4);
Ser2:=TLineSeries.Create (form4);
Form4.Chart1.AddSeries (Ser1);
Form4.Chart2.AddSeries (Ser2);
Ser1.Title:=J_el[k+1]. lab. Caption;
Ser2.Title:=J_el[k+1].lab.Caption;
Ser1.Marks.Style:=smsXValue;
Ser2.Marks.Style:=smsXValue;
inc (k);
end;
end;
//****************************ΠΠΠΠ 4************************
procedure TForm1. Calculate (var h: real); //ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π²ΡΡΠΈΡΠ». ΠΌΠ°ΡΡ. Y
var i, j, k:integer; //h-ΡΠ°Π³ ΡΠ΅ΡΠ΅Π½ΠΈΡ
temp:array of Double;
begin
for k:=0 to dim_m-1 do
begin
for i:=0 to dim_n-1 do
Y[k]: =Y[k]+Matrix[i, k]*bb[i]; //Transponir Y=-A (trans)*Fi
Y[k]: =-Y[k];
end;
//*******************************************
for i:=0 to mR-1 do
YR[i]: =Y[i];
k:=0;
for i:=mR to (mR+mC-1) do
begin
YC[k]: =Y[i];
inc (k);
end;
k:=0;
for i:=(mR+mC) to (mR+mC+mL-1) do
begin
YL[k]: =Y[i];
inc (k);
end;
k:=0;
for i:=(mR+mC+mL) to (mR+mC+mL+mJ-1) do
begin
YJ[k]: =Y[i];
inc (k);
end;
//*****************************************
for k:=0 to mR-1 do //XR:=R (-1)*YR
for j:=0 to mR-1 do
if pR[k, j]<>0 then XR[k]: =XR[k]+1/pR[k, j]*YR[j] else XR[k]: =XR[k];
for k:=0 to mL-1 do //XL:=L (-1)*YL
begin
for j:=0 to mL-1 do
if pL[k, j]<>0 then XL[k]: =XL[k]+1/pL[k, j]*YL[j] else XL[k]: =XL[k];
XL[k]:=XL[k]*h+XL0[k]; //xl_o — val on (n-1) step
end;
SetLength (temp, mC);
for i:=0 to mC-1 do
temp[i]: =YC[i]-YC0[i];
for k:=0 to mC-1 do //XC:=C (YC-YC0)/h
begin
for j:=0 to mC-1 do
XC[k]: =XC[k]+pC[k, j]*temp[j];
XC[k]:=XC[k]/h;
end;
//**********************************************************
for i:=0 to mL-1 do
XL0[i]: =XL[i];
for i:=0 to mC-1 do
YC0[i]: =YC[i];
//***********************************************************
end;
//***************************ΠΠΠΠ 5*************************
function TForm1. Gauss:boolean; //ΠΠ΅ΡΠΎΠ΄ ΠΠ°ΡΡΡΠ° Ρ Π²ΡΠ±ΠΎΡΠΎΠΌ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΠΎ Π²ΡΠ΅ΠΉ ΠΌΠ°ΡΡΠΈΡΠ΅ (ΡΡ Π΅ΠΌΠ° ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π²ΡΠ±ΠΎΡΠ°).
var i, j, k, m: integer;
ved_el:double;
Temp:array of array of double;
temp1:array of byte;
max, bufer: double;
col, row: integer;
usl:boolean;
begin
usl:=true;
SetLength (Temp, dim_n, dim_n+1);
SetLength (temp1,dim_n);
for i:=0 to dim_n-1 do
begin
for j:=0 to dim_n-1 do
Temp[i, j]: =B[i, j];
Temp[i, dim_n]:=bb[i];
end;
//********************************
for k:=0 to dim_n-1 do
begin
//************
for m:=0 to dim_n-1 do
if temp1[m]=0 then max:=Temp[m, m]; //find first max el
//************
for i:=0 to dim_n-1 do
for j:=0 to dim_n-1 do
if (temp1[i]=0) or (temp1[j]=0) then //check rows
if Temp[i, j]>=max then
begin
max:=Temp[i, j];
col:=j;
row:=i;
end;
// change rows
temp1[col]: =1;
for j:=0 to dim_n do
begin
bufer:=Temp[row, j];
Temp[row, j]:=Temp[col, j];
Temp[col, j]:=bufer;
end;
//**********
end;
for k:=0 to dim_n-1 do
if Temp[k, k]=0 then usl:=false;
if usl=true then
begin
//Gauss programm
ved_el :=Temp[0,0];
for j:=0 to dim_n do
Temp[0,j]: =Temp[0,j]/ved_el;
for k:=1 to dim_n-1 do
begin
for j:=0 to k-1 do
begin
ved_el:=Temp[k, j];
for m:=0 to dim_n do
Temp[k, m]: =Temp[k, m]-Temp[j, m]*ved_el;
end;
ved_el:=Temp[k, k];
for m:=0 to dim_n do
Temp[k, m]: =Temp[k, m]/ved_el;
for i:=k-1 downto 0 do
begin
ved_el:=Temp[i, k];
for m:=0 to dim_n do
Temp[i, m]: =Temp[i, m]-Temp[k, m]*ved_el;
end;
end;
//*************************
for i:=0 to dim_n-1 do
bb[i]: =Temp[i, dim_n];
end;
Gauss:=usl;
end;
//**************************ΠΠΠΠ 7***************************
procedure TForm1. Gen_matr_B (var h: real); //ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ, h-ΡΠ°Π³
var i, j, k:integer;
B1,B2,B3,B4,B5,B6:array of array of real; //temp matrix
begin
SetLength (B, dim_n, dim_n);
SetLength (B2,dim_n, dim_n);
SetLength (B4,dim_n, dim_n);
SetLength (B6,dim_n, dim_n);
SetLength (B1,dim_n, mC);
SetLength (B3,dim_n, mR);
SetLength (B5,dim_n, mL);
//************************************************
for k:=0 to dim_n-1 do //Ac*C
for j:=0 to mC-1 do
for i:=0 to mC-1 do
B1[k, j]: =B1[k, j]+AC[k, i]*pC[i, j];
for k:=0 to dim_n-1 do //B2:=(Ac*C)*trans (Ac)
for j:=0 to dim_n-1 do
begin
for i:=0 to mC-1 do
B2[k, j]: =B2[k, j]+B1[k, i]*AC[j, i]; // AC[j, i] Ρ. ΠΊ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡ
B2[k, j]: =B2[k, j]/h; //B2/h
end;
//**********************
for k:=0 to dim_n-1 do //Ar*R (-1)
for j:=0 to mR-1 do
for i:=0 to mR-1 do
if pR[i, j]<>0 then B3[k, j]: =B3[k, j]+AR[k, i]*(1/pR[i, j]); //R (-1)
for k:=0 to dim_n-1 do //B4:=(Ar*R (-1))*trans (Ar)
for j:=0 to dim_n-1 do
for i:=0 to mR-1 do
B4[k, j]: =B4[k, j]+B3[k, i]*AR[j, i];
//***************************
for k:=0 to dim_n-1 do //Al*L (-1)
for j:=0 to mL-1 do
for i:=0 to mL-1 do
if pL[i, j]<>0 then B5[k, j]: =B5[k, j]+AL[k, i]*(1/pL[i, j]);
for k:=0 to dim_n-1 do //B6:=(Al*L (-1))*trans (AL)
for j:=0 to dim_n-1 do
begin
for i:=0 to mL-1 do
B6[k, j]: =B6[k, j]+B5[k, i]*AL[j, i];
B6[k, j]:=B6[k, j]/h;
end;
//****************************
for i:=0 to dim_n-1 do
for j:=0 to dim_n-1 do
B[i, j]: =B2[i, j]+B4[i, j]+B6[i, j];
end;
//*************************ΠΠΠΠ 15***************************
procedure TForm1. Disable;
begin
ToolBar1.Enabled:=false;
MainMenu1.Items[2]. Items[0].Enabled:=false;
Image1.Enabled:=false;
Button1.Enabled:=true;
end;
//**************************ΠΠΠΠ 16*************************
procedure TForm1. SetVal (P:TPoint); //ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ».
var
ch:char;
str2:string;
val1,v, code: integer;
val2:real;
begin
if Pos (P)='right' then
begin
ch:=Matr1[P.Y, P. X+1][1];
val1:=StrToInt (Copy (Matr1[P.Y, P. X+1], 2, length (Matr1[P.Y, P. X+1])-1));
end
else
if Pos (P)='left' then
begin
ch:=Matr1[P.Y, P. X-1][1];
val1:=StrToInt (Copy (Matr1[P.Y, P. X-1], 2, length (Matr1[P.Y, P. X-1])-1));
end
else
if Pos (P)='up' then
begin
ch:=Matr1[P.Y-1,P.X][1];
val1:=StrToInt (Copy (Matr1[P.Y-1,P.X], 2, length (Matr1[P.Y-1,P.X])-1));
end
else
if Pos (P)='down' then
begin
ch:=Matr1[P.Y+1,P.X][1];
val1:=StrToInt (Copy (Matr1[P.Y+1,P.X], 2, length (Matr1[P.Y+1,P.X])-1));
end;
case ch of
'R':begin
str2:=R_el[val1]. lab. Caption;
val2:=R_el[val1].val;
end;
'C':begin
str2:=C_el[val1].lab.Caption;
val2:=C_el[val1].val;
end;
'L':begin
str2:=L_el[val1].lab.Caption;
val2:=L_el[val1].val;
end;
'J':begin
str2:=J_el[val1].lab.Caption;
val2:=J_el[val1].val;
end;
end;
Form3.Edit1.Text:=str2;
Form3.Edit2.Text:=FloatToStr (val2);
Form3.ShowModal;
str2:=Form3.Edit1.Text;
val2:=StrToFloat (Form3.Edit2.Text);
case ch of
'R':begin
R_el[val1]. lab. Caption:=str2;
R_el[val1].val:=val2;
StringGrid4.Cells[0,val1]:=str2;
StringGrid4.Cells[1,val1]:=FloatToStr (val2);
end;
'C':begin
C_el[val1].lab.Caption:=str2;
C_el[val1].val:=val2;
StringGrid4.Cells[2,val1]:=str2;
StringGrid4.Cells[3,val1]:=FloatToStr (val2);
end;
'L':begin
L_el[val1].lab.Caption:=str2;
L_el[val1].val:=val2;
StringGrid4.Cells[4,val1]:=str2;
StringGrid4.Cells[5,val1]:=FloatToStr (val2);
end;
'J':begin
J_el[val1].lab.Caption:=str2;
J_el[val1].val:=val2;
StringGrid4.Cells[6,val1]:=str2;
StringGrid4.Cells[7,val1]:=FloatToStr (val2);
end;
end;
end;
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, TeEngine, Series, ExtCtrls, TeeProcs, Chart, StdCtrls, Menus;
type
TForm4 = class (TForm)
Chart1: TChart;
ComboBox1: TComboBox;
Chart2: TChart;
ComboBox2: TComboBox;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
SaveDialog1: TSaveDialog;
N21: TMenuItem;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Button2: TButton;
procedure ComboBox1Change (Sender: TObject);
procedure FormActivate (Sender: TObject);
procedure ComboBox2Change (Sender: TObject);
procedure N2Click (Sender: TObject);
procedure N21Click (Sender: TObject);
procedure Button1Click (Sender: TObject);
procedure Button2Click (Sender: TObject);
procedure FormClose (Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
ProgStop:boolean;
implementation
{$R *.dfm}
procedure TForm4. ComboBox1Change (Sender: TObject);
var i: integer;
begin
for i:=0 to Chart1. SeriesCount-1 do
if i=ComboBox1.ItemIndex then Chart1. Series[i]. Active:=true else Chart1. Series[i]. Active:=false;
Button1.Enabled:=true;
end;
procedure TForm4. FormActivate (Sender: TObject);
var i: integer;
begin
for i:=0 to Chart1. SeriesCount-1 do
begin
ComboBox1.Items.Add (Chart1.Series[i]. Title);
ComboBox2.Items.Add (Chart2.Series[i].Title);
end;
end;
procedure TForm4. ComboBox2Change (Sender: TObject);
var i: integer;
begin
for i:=0 to Chart2. SeriesCount-1 do
if i=ComboBox2.ItemIndex then Chart2. Series[i]. Active:=true else Chart2. Series[i]. Active:=false;
Button2.Enabled:=true;
end;
procedure TForm4. N2Click (Sender: TObject);
begin
if SaveDialog1. Execute then Chart1. SaveToBitmapFile (SaveDialog1.Files.Strings[0]+'.bmp');
end;
procedure TForm4. N21Click (Sender: TObject);
begin
if SaveDialog1. Execute then Chart2. SaveToBitmapFile (SaveDialog1.Files.Strings[0]+'.bmp');
end;
procedure TForm4. Button1Click (Sender: TObject);
begin
if Chart1. Series[ComboBox1.ItemIndex]. Marks. Visible=true then
begin
Chart1.Series[ComboBox1.ItemIndex]. Marks. Visible:=false;
Button1.Caption:='ΠΠΎΠΊΠ°Π·Π°ΡΡ Π²Π΅ΡΡΠΈΠ½Ρ';
end
else
begin
Chart1.Series[ComboBox1.ItemIndex]. Marks. Visible:=true;
Button1.Caption:='Π‘ΠΊΡΡΡΡ Π²Π΅ΡΡΠΈΠ½Ρ';
end;
end;
procedure TForm4. Button2Click (Sender: TObject);
begin
if Chart2. Series[ComboBox2.ItemIndex]. Marks. Visible=true then
begin
Chart2.Series[ComboBox2.ItemIndex]. Marks. Visible:=false;
Button2.Caption:='ΠΠΎΠΊΠ°Π·Π°ΡΡ Π²Π΅ΡΡΠΈΠ½Ρ';
end
else
begin
Chart2.Series[ComboBox2.ItemIndex]. Marks. Visible:=true;
Button2.Caption:='Π‘ΠΊΡΡΡΡ Π²Π΅ΡΡΠΈΠ½Ρ';
end;
end;
procedure TForm4. FormClose (Sender: TObject; var Action: TCloseAction);
begin
ProgStop:=true;
end;
end.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ²
1. ΠΠΎΡΠ΅Π½ΠΊΠΎΠ² Π. Π. «ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ ΡΠΈΡΡΠ΅ΠΌ» Π.: ΠΡΡΡΠ°Ρ ΡΠΊΠΎΠ»Π°, 1980
2. ΠΠ»Π΅ΠΊΡΠ΅Π΅Π² Π. Π. «ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π΄ΠΈΠΎΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΡΠ΅Π΄ΡΡΠ²» Π.: ΠΡΡΡΠ°Ρ ΡΠΊΠΎΠ»Π°, 2000
3. ΠΠ΅Π»ΠΎΠ² Π. Π€. «ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»Π΅ΠΊΡΡΠΎΠΌΠ°Π³Π½ΠΈΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ», Π‘Π°ΡΠ°Π½ΡΠΊ, ΠΠΎΡΠ΄ΠΎΠ²ΡΠΊΠΈΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ, 1993
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
Π ΠΈΡΡΠ½ΠΎΠΊ 1 — ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Π°Ρ ΡΡ Π΅ΠΌΠ°.
Π ΠΈΡΡΠ½ΠΎΠΊ 2.1 — ΠΌΠ°ΡΡΠΈΡΠ° ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠΉ.
— 1 | — 1 | — 1 | ||||||
— 1 | — 1 | |||||||
— 1 | — 1 | — 1 | ||||||
Π ΠΈΡΡΠ½ΠΎΠΊ 2.2 — ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠΉ (ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΡΡΡ Π² excel-ΡΠ°ΠΉΠ»)
Π ΠΈΡΡΠ½ΠΎΠΊ 3 — ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
Π ΠΈΡΡΠ½ΠΎΠΊ 4.1 — ΡΠ°ΡΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
Π ΠΈΡΡΠ½ΠΎΠΊ 4.2 — ΡΠ°ΡΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ «ΠΠ²ΡΠΎ-ΡΠ°ΡΡΠ΅Ρ».
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
Π ΠΈΡΡΠ½ΠΎΠΊ 5 — R1_X ΠΎΡ t.
Π ΠΈΡΡΠ½ΠΎΠΊ 6 — R1_Y ΠΎΡ t.
Π ΠΈΡΡΠ½ΠΎΠΊ 7 — R2_X ΠΎΡ t.
Π ΠΈΡΡΠ½ΠΎΠΊ 8 — R2_Y ΠΎΡ t.
Π ΠΈΡΡΠ½ΠΎΠΊ 9 — R3_X ΠΎΡ t.
Π ΠΈΡΡΠ½ΠΎΠΊ 10 — R3_Y ΠΎΡ t.
Π ΠΈΡΡΠ½ΠΎΠΊ 11 — R4_X ΠΎΡ t.
Π ΠΈΡΡΠ½ΠΎΠΊ 12 — R4_Y ΠΎΡ t.
Π ΠΈΡΡΠ½ΠΎΠΊ 13 — C1_X ΠΎΡ t.
Π ΠΈΡΡΠ½ΠΎΠΊ 14 — C1_Y ΠΎΡ t.
Π ΠΈΡΡΠ½ΠΎΠΊ 15 — C2_X ΠΎΡ t.
Π ΠΈΡΡΠ½ΠΎΠΊ 16 — C2_Y ΠΎΡ t.
Π ΠΈΡΡΠ½ΠΎΠΊ 17 — C3_X ΠΎΡ t.
Π ΠΈΡΡΠ½ΠΎΠΊ 18 — C3_Y ΠΎΡ t.
Π ΠΈΡΡΠ½ΠΎΠΊ 19 — J1_X ΠΎΡ t.
Π ΠΈΡΡΠ½ΠΎΠΊ 20 — J1_Y ΠΎΡ t.