ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ
ΠΠΎΠΌΠ°Π½Π΄Π° restart Π½ΡΠΆΠ½Π° Π΄Π»Ρ ΠΎΡΠΈΡΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΏΡΠΈ Π½Π°ΡΠ°Π»Π΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠ΅Π°Π½ΡΠ°. ΠΠ²Π΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±ΡΡ ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ pp:=(x, y)→ ΡΡΡΠΎΠΈΡΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ (ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΎΡΠΊΠΈ ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ) Π² ΡΠΏΠΈΡΠΎΠΊ. ΠΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π°Π²Π°ΡΡΡΡ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ΅ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠΎΡΠ΅ΠΊ. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΊΠ°ΡΠ΅ΡΠΈΠ½Π±ΡΡΠ³ 2012 Π³.
Π€Π΅Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π°Π³Π΅Π½ΡΡΡΠ²ΠΎ ΡΠ²ΡΠ·ΠΈ Π€ΠΠΠΠ£ ΠΠΠ «Π‘ΠΈΠ±ΠΈΡΡΠΊΠΈΠΉ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ ΡΠ΅Π»Π΅ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΉ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠΈ»
Π£ΡΠ°Π»ΡΡΠΊΠΈΠΉ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΡΠΈΡΡΡ ΡΠ²ΡΠ·ΠΈ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠΈ (ΡΠΈΠ»ΠΈΠ°Π»)
ΠΠ£Π Π‘ΠΠΠΠ― Π ΠΠΠΠ’Π
ΠΏΠΎ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Π΅
Π―ΠΠ«ΠΠ ΠΠ ΠΠΠ ΠΠΠΠΠ ΠΠΠΠΠΠ―
210 406.65 «Π‘Π΅ΡΠΈ ΡΠ²ΡΠ·ΠΈ ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΌΡΡΠ°ΡΠΈΠΈ»
ΠΡΠΏΠΎΠ»Π½ΠΈΠ»: Π ΠΎΠΌΠ°Π½ΡΠ΅Π² Π‘.Π.
ΠΡΠΎΠ²Π΅ΡΠΈΠ»: ΠΠΎΠ½Π΄ΡΠ°ΡΡΠ΅Π² Π.Π.
Π‘ΠΠΠΠ ΠΠΠΠΠ ΠΠ°Π΄Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ
1. ΠΡΠΎΠ΅ΠΊΡ Π² Delphi
1.1 ΠΠΈΠ΄ ΠΈ ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
1.2 ΠΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
2. ΠΡΠΎΠ΅ΠΊΡ Π² Maple
2.1 ΠΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΡΡΠ΅ΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ. Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΡΠ°ΡΡΠ΅ΡΠ°ΠΌΠΈ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΌΠΈ Π² Delphi
2.2 Π‘ΠΏΠ΅ΠΊΡΡΠ°Π»ΡΠ½Π°Ρ Π°Π½Π°Π»ΠΈΠ· ΡΠΈΠ³Π½Π°Π»Π° Π² Maple
Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ
ΠΠ°Π΄Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΠ°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΠ°ΡΠΊΠ°Π»Ρ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠΈ (Π²Π°ΡΠΈΠ°Π½Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΠΉ). Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ°ΡΡΠ΅ΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ Π½Π° ΡΠΊΡΠ°Π½ ΠΈ Π² ΡΠ°ΠΉΠ». ΠΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² ΠΈ ΡΠ°Π±Π»ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² (Maple, MathCad). ΠΠ΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ Π² ΡΡΠ΅Π΄Π΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Delphi.
ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ Π·Π°Π΄Π°Ρ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². ΠΠΎΡΡΡΠΎΠΈΡΡ Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌΡ Π·Π°Π΄Π°ΡΠΈ ΠΈ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°ΡΡΠ΅ΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°. ΠΡΠ΅Π½ΠΈΡΡ ΠΏΠΎΠ³ΡΠ΅ΡΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΡΠ°ΡΡΠ΅ΡΠΎΠ².
ΠΠ°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ U=U (t) Π½Π° Π²Ρ ΠΎΠ΄Π΅ ΡΡΠ°Π½Π·ΠΈΡΡΠΎΡΠ° ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π΄ΠΈΡΡΠ΅ΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌΠΈ (1), Π³Π΄Π΅ n — ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠΈΡΡΠ° Π½ΠΎΠΌΠ΅ΡΠ° Π·Π°ΡΠ΅ΡΠ½ΠΎΠΉ ΠΊΠ½ΠΈΠΆΠΊΠΈ, k — ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΡΡΠΈΠ»Π΅Π½ΠΈΡ (ΡΠΌ. Π½ΠΈΠΆΠ΅), fs (t) — ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΈΠ³Π½Π°Π» (ΡΠΈΡ. 1), m — ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ.
Π£ΠΊΠ°Π·Π°Π½ΠΈΡ ΠΈ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡ.
1. ΠΠΈΡΡΠ΅ΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌΠΈ (Π·Π°Π΄Π°ΡΠ° ΠΠΎΡΠΈ) ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π ΡΠ½Π³Π΅-ΠΡΡΡΠ° Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΠ΅ΠΉ (3) Π½Π° ΠΎΡΡΠ΅Π·ΠΊΠ΅ [0;5] Ρ ΡΠ°Π³ΠΎΠΌ h=0.01.(Π² ΡΠ·Π»Π°Ρ tj =jh, j=0,1,2…). Π€ΡΠ½ΠΊΡΠΈΡ fs (t) Π² ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅Π³ΡΠ»ΠΈΡΡΡΡΠΈΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠΉ (ΠΏΠ΅ΡΠΈΠΎΠ΄ Π’) ΡΠΈΠ³Π½Π°Π» Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΠΎΠΉ Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄Ρ (ΡΠΈΡ 1, Π½ΠΎΠΌΠ΅Ρ Π²Π°ΡΠΈΠ°Π½ΡΠ° n — ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠΈΡΡΠ° Π½ΠΎΠΌΠ΅ΡΠ° Π·Π°ΡΠ΅ΡΠ½ΠΎΠΉ ΠΊΠ½ΠΈΠΆΠΊΠΈ,). Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ°ΡΡΠ΅ΡΠΎΠ²—ΡΠ°Π±Π»ΠΈΡΠ° (tj, Uj) ΠΈ Π³ΡΠ°ΡΠΈΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ U (t) (Π½Π° ΡΠΊΡΠ°Π½ ΠΈ Π² ΡΠ°ΠΉΠ»).
2. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠ° ΡΡΠΈΠ»Π΅Π½ΠΈΡ k Π² ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ Π΄ΠΈΡΡΠ΅ΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π΅ΡΡΡ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΉ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° (2), ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΊΠΎΡΠ½Π΅ΠΉ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ (ΠΌΠ΅ΡΠΎΠ΄ ΠΊΠ°ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ , ΠΌΠ΅ΡΠΎΠ΄ ΠΠ΅Π³ΡΡΠ΅ΠΉΠ½Π°).
3. ΠΠΎΡΡΡΠΎΠΈΡΡ ΡΠΏΠ΅ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° fs (t), Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π² Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΡΠΎΡΠΌΠ΅ ΠΈ Π² Π²ΠΈΠ΄Π΅ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π°. ΠΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠ³Π½Π°Π»Π° ΡΠ°Π²Π½Π° 1, ΠΏΠ΅ΡΠΈΠΎΠ΄ T=k.
4. ΠΠ΅ΡΠΈΠΎΠ΄ ΡΡΠ½ΠΊΡΠΈΠΈ U (t) ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π°Π²ΡΠΎΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΈ.
ΠΡΡΡΠΎΠ²Π°Ρ ΡΠ°Π±ΠΎΡΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² Π§ΠΠ’Π«Π Π ΡΡΠ°ΠΏΠ°.
1. Π‘ΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° Maple ΡΠ΅ΡΠ°Π΅ΡΡΡ Π·Π°Π΄Π°ΡΠ° ΡΠΏΠ΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΈ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° fs (t). Π‘ΡΠ°Π²Π½ΠΈΠ²Π°ΡΡΡΡ ΡΠΏΠ΅ΠΊΡΡΡ Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΈ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΡΠΈΠ³Π½Π°Π»Π°. (ΠΎΠ±ΡΠ°Π·Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°Π΄Π°Π½ΠΈΡ — ΡΠ°ΠΉΠ» Π²Π°ΡΠΈΠ°Π½Ρ11. mws).
2. Π‘ΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π² Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ Delphi, ΡΠ΅ΡΠ°ΡΡΠΈΠΉ ΡΡΡ ΠΆΠ΅ Π·Π°Π΄Π°ΡΡ Π΄Π»Ρ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π°, Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡΡΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ.
3. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Maple ΡΠ΅ΡΠ°Π΅ΡΡΡ Π·Π°Π΄Π°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΈΡΡΠ΅ΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ (Π·Π°Π΄Π°ΡΠ° ΠΠΎΡΠΈ) ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ (ΠΏΠΎ Π²Π°ΡΠΈΠ°Π½ΡΡ Π·Π°Π΄Π°Π½ΠΈΡ). ΠΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠ°ΡΡΠ΅ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Delphi (ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠ½ΠΊΡ). ΠΠ±ΡΠ°Π·Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°Π΄Π°Π½ΠΈΡ — ΡΠ°ΠΉΠ» RUTTA.mws.
4. Π‘ΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π² Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ Delphi, ΡΠ΅ΡΠ°ΡΡΠΈΠΉ ΡΡ ΠΆΠ΅ Π·Π°Π΄Π°ΡΡ ΠΠΎΡΠΈ, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ°ΡΡΠ΅ΡΠ° ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠ½ΠΊΡΠ΅. ΠΡΠ²ΠΎΠ΄ΡΡΡΡ Π³ΡΠ°ΡΠΈΠΊΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π² Maple ΠΈ Delphi ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. Π―Π²Π½ΡΠ΅ Π½Π΅ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²ΡΡΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½Π° Delphi.
ΠΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅:
v Π€ΠΎΡΠΌΠ°Ρ Π4.
v Π’ΠΈΡΡΠ»
v ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
v ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ Π·Π°Π΄Π°Ρ
v ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΡ
v Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ°ΡΡΠ΅ΡΠΎΠ², Π³ΡΠ°ΡΠΈΠΊΠΈ
v ΠΠΈΡΠ΅ΡΠ°ΡΡΡΠ°
ΠΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ № 14
1. ΠΠ°ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ: U (0)=0.2
2. ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌ: x5−7x-10
3. ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡ: Π² ΡΡΠ΅Π΄Π½Π΅ΠΉ ΡΠΎΡΠΊΠ΅
4. ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠΈΡΠΊΠ° ΠΊΠΎΡΠ½Ρ ΠΠ΅ΡΠΎΠ΄ ΠΠ΅Π³ΡΡΠ΅ΠΉΠ½Π°
Π‘ΠΈΠ³Π½Π°Π»:
1. ΠΡΠΎΠ΅ΠΊΡ Π² Delphi
1.1 ΠΠΈΠ΄ ΠΈ ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π ΠΈΡ. 1 — Π€ΠΎΡΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π ΠΈΡ. 2 — Π Π°Π±ΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠ° ΡΠΈΠ³Π½Π°Π»Π°)
Π ΠΈΡ. 3 — Π Π°Π±ΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (Π‘ΠΏΠ΅ΠΊΡΡ Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄)
1.2 ΠΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
unit Romanzew;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons;
type
TForm1 = class (TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
Label1: TLabel;
Label2: TLabel;
ListBox1: TListBox;
SaveDialog1: TSaveDialog;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
Image1: TImage;
procedure BitBtn1Click (Sender: TObject);
procedure BitBtn2Click (Sender: TObject);
procedure BitBtn3Click (Sender: TObject);
procedure BitBtn4Click (Sender: TObject);
procedure BitBtn5Click (Sender: TObject);
procedure BitBtn6Click (Sender: TObject);
procedure BitBtn7Click (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
const
Npoint=50;
U0=0.2;
h=5/Npoint;
Nzach=8;
KOC=0.5;
N=40;
m=20;
{——————}
a=0;b=2; epsilon=0.1;
type
dann=array[0.Npoint]of real;
koef=array[0.m] of real;
var
U:dann;
root:real;
t:real;
kolit:integer;
fn:string;
ft:text;
Y:dann;
v, e: koef;
function f (t:real):real;
begin
f:=t*t*t*t*t-7*t-10;
{ f:=t*sqr (sqr (t))-8*t-1; }
end;
function phi (x:real):real;
begin
phi:=x+f (x);
end;
procedure Iter (a, b: real;var x2, y2:real; var flag: Boolean);
var
x0,x1,y0,y1:real;
begin
kolit:=kolit+1;
x0:=a;y0:=phi (x0);
x1:=b;y1:=phi (x1);
x2:=(x1*y0-y1*x0)/((x1-x0)-(y1-y0));
{writeln (a, b, x2);}
y2:=phi (x2);
flag:=(y0-x0)*(y2-x2)>0;
end;
procedure Vegstein (a, b, eps:real; var x: real);
var
xz, yz: real;
prizn:Boolean;
begin
repeat
Iter (a, b, xz, yz, prizn);
if prizn then a:=xz else b:=xz;
until abs (xz-yz)
{ writeln ('ΠΊΠΎΡΠ΅Π½Ρ===', xz); }
x:=xz;
end;
{=======================================================}
function signal (t:real):real;
var
z:real;
begin
if t<0 then z:=0
else if t<1 then z:=1-sin (Pi*t)
else z:=0;
signal:=z;
end;
function Period (x, T: real):real;
var
z:real;
begin
z:=x-trunc (x/T)*T;
Period:=signal (z);
end;
{==================================================}
procedure graf;
var
x:real;
y:real;
j:integer;
k:integer;
begin
with Form1. ListBox1.Canvas do
begin
MoveTo (10,120);LineTo (600,120);
MoveTo (10,10);LineTo (10,220);
MoveTo (8,15);LineTo (10,10);
MoveTo (12,15);LineTo (10,10);
MoveTo (595,118);LineTo (600,120);
MoveTo (595,122);LineTo (600,120);
for j := 0 to 500 do
begin
x:=j/100; {ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» [0.5]}
y:=Period (x, T);
k:=trunc (y*100);
Pixels[j+10,120-k]: =RGB (255,0,0);
Pixels[j+10,120-k+1]:=RGB (255,0,0);
{ Pixels[j+10,120-k+1]: =clBlue;}
Sleep (5);
end;
end;
end;
{=======================================================}
function RHS (x, U: real):real;
begin
RHS:=Nzach*(cos ((4+Nzach/10)*x+U)+T*Period (x, T)-KOC*U);
{=1}
end;
{=======================================================}
procedure difur;
var j: integer; x, y: real;
yz:real;
begin
U[0]: =U0; x:=0;
for j:=1 to npoint do
begin
y:=RHS (x, U[j-1]);
{U[j]: =U[j-1]+h*y;} {ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡ}
yz:=U[j-1]+h/2*y;
U[j]: =U[j-1]+h*rhs (x+h/2,yz);
x:=j*h;
end;
end;
{=======================================================}
procedure zapis;
var
j:integer;
begin
assignfile (ft, fn);
rewrite (ft, fn);
for j:= 0 to Npoint do
writeln (ft, j*h:6:2,U[j]: 12:4);
closefile (ft);
end;
{=======================================================}
procedure Furkoef (m, N: integer;Y:dann;var v, e: koef);
var
j, k: integer;
p, q: real;
x:real;
h:real;
begin
h:=2*Pi/N;
for k:=0 to m do
begin
p:=0;q:=0;
for j:=1 to N do
begin
x:=j*h;
p:=p+Y[j]*cos (x*k);
q:=q+Y[j]*sin (x*k);
end;
v[k]: =p*2/N;
e[k]:=q*2/N;
end;
end;
function Tpol (m:integer;x:real):real;
var
z:real;
k:integer;
begin
z:=v[0]/2;
for k:=1 to m do
z:=z+(v[k]*cos (k*2*Pi/T*x)+e[k]*sin (k*2*Pi/T*x));
Tpol:=z;
end;
{===========================================================}
procedure spektr (numvar:integer);
var
L, R, W, H: integer;
X: dann;
Y: dann;
k:integer;
ymin, ymax: real;
Mx, My: real;
x0,y0: integer;
posx, posy: integer;
Nkf:string;
tx:real;
ypol:real;
procedure min_max (N:integer;Y:dann; var min, max: real);
var
k: integer;
begin
min:=Y[0]; max:=Y[0];
for k := 1 to N do
if Y[k]> max then
max:=Y[k]
else if Y[k]< min then
min:=Y[k];
{ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½}
max:=max+0.1;
min:=min-0.1;
end;
begin
L:=10;
R:=form1.Image1.clientHeight-20;
W:=form1.Image1.Width-50;
H:=form1.Image1.clientheight-50;
case numvar of 1:
begin
for k:=0 to m do
Y[k]: =sqrt (sqr (v[k])+sqr (e[k]));
min_max (m, Y, ymin, ymax);
Mx:=W/m;
My:=H/(ymax-ymin);
x0:=L;
y0:=R-abs (Round (ymin*My));
with form1. Image1.Canvas do
begin
pen.Width:=1;
pen.Color:=clred;
Moveto (L, R);lineto (L, R-H);
moveto (x0,y0);lineto (x0+W, y0);
pen.Width:=4;
pen.Color:=clgreen;
for k:=0 to m do
begin
posx:=x0+round (k*Mx);
posy:=y0-round (Y[k]*My);
moveto (posx, y0);
lineto (posx, posy);
end;
end;
end;
end;
end;
procedure TForm1. BitBtn1Click (Sender: TObject);
begin
vegstein (a, b, epsilon, T);
{ writeln ('ΡΠΈΡΠ»ΠΎ ΡΠ°Π³ΠΎΠ²', kolit:6);}
Label1.Visible:=true;
Label1.Caption:='ΠΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΠΊΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ°';
Label2.Visible:=true;
Label2.Caption:='ΠΠΎΡΠ΅Π½Ρ='+floattostr (T);
BitBtn1.Visible:=false;
BitBtn2.Visible:=true;
BitBtn6.Visible:=false;
BitBtn7.Visible:=false;
BitBtn2.SetFocus;
end;
procedure TForm1. BitBtn2Click (Sender: TObject);
begin
label1.Caption:='Π‘ΡΡΠΎΠΈΠΌ Π³ΡΠ°ΡΠΈΠΊ ΡΠΈΠ³Π½Π°Π»Π°';
graf;
BitBtn2.Visible:=false;
BitBtn3.Visible:=true;
BitBtn6.Visible:=false;
BitBtn7.Visible:=false;
BitBtn3.SetFocus;
end;
procedure TForm1. BitBtn3Click (Sender: TObject);
begin
Label1.Caption:='Π Π΅ΡΠ°Π΅ΠΌ ΠΠΈΡΠ£ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅';
ListBox1.Clear;
difur;
BitBtn3.Visible:=false;
BitBtn4.Visible:=true;
BitBtn6.Visible:=false;
BitBtn7.Visible:=false;
BitBtn4.SetFocus;
end;
procedure TForm1. BitBtn4Click (Sender: TObject);
begin
if SaveDialog1. Execute then
fn:=SaveDialog1.Filename;
Label1.Caption:='ΠΠ°ΠΏΠΈΡΡ Π² ΡΠ°ΠΉΠ» '+fn;
zapis;
BitBtn4.Visible:=false;
BitBtn5.Visible:=true;
BitBtn6.Visible:=true;
BitBtn7.Visible:=false;
BitBtn6.SetFocus;
end;
procedure TForm1. BitBtn5Click (Sender: TObject);
begin
Close;
end;
procedure TForm1. BitBtn6Click (Sender: TObject);
var
j:integer;
s1,s2,s3:string;
begin
for j:=0 to N do
Y[j]: =signal (j*Pi/N);
Y[N]:=(Y[0]+Y[N])/2;
Furkoef (m, N, Y, v, e);
for j:=0 to m do
begin
str (j:2,s1);
str (v[j]: 10:5,s2);
str (e[j]:10:5,s3);
listbox1.Items.Add (s1+s2+s3);
BitBtn3.Visible:=false;
BitBtn4.Visible:=false;
BitBtn6.Visible:=false;
BitBtn7.Visible:=true;
BitBtn7.SetFocus;
end;
end;
procedure TForm1. BitBtn7Click (Sender: TObject);
begin
Label1.Caption:='ΠΡΠ°ΡΠΈΠΊ ΡΠΏΠ΅ΠΊΡΡΠ° Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄';
spektr (1);
BitBtn3.Visible:=false;
BitBtn3.Visible:=false;
BitBtn6.Visible:=false;
BitBtn7.Visible:=false;
BitBtn5.SetFocus;
end;
end.
2. ΠΡΠΎΠ΅ΠΊΡ Π² Maple
2.1 ΠΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΡΡΠ΅ΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ. Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΡΠ°ΡΡΠ΅ΡΠ°ΠΌΠΈ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΌΠΈ Π² Delphi
> restart; with (plots):with (linalg):
> pol:=x5−7*x-10:
> T:=fsolve (pol, x=1.3):
> plot (pol, x=0.2.1,color=blue, thickness=2):
> signal:=proc (t) local z;
z:=piecewise (t<0,0,t<=1,1-sin (Pi*t), 0);
end:
> plot (signal (x), x=-1.3, color=blue, thickness=2,discont=true);
> Period:=proc (x) local z;global T;
z:=x-floor (x/T)*T; signal (z);end:
> plot (Period (x), x=0.5,color=brown, thickness=3,discont=true):
Error, (in plot) unable to determine the discontinuities
> #ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠ°
> Nzac:=8:Koc:=1:u0:=0.2:Koeff:=T:
> ur:=diff (U (t), t):
> F:=Nzac/10*(cos ((4+Nzac/10)*t+U (t))+Koeff*Period (t)-Koc*U (t)):
> RK:=dsolve ({ur=F, U (0)=u0}, U (t), type=numeric, output=listprocedure):
> fU:=subs (RK, U (t)):
> T0:=5:Nt:=50:h:=T0/Nt:
> h := 1/10:
> Tx:=array (0.Nt):U:=array (0.Nt):U_map:=array (0.Nt):
> for j from 0 to Nt do
> x:=j*h;z:=fU (x);Tx[j]: =x;U[j]:=z;U_map[j]:=z;
> #print (x, z);
> od:
> RisU:=zip ((a, b)->[a, b], Tx, U):
> RU:=plot (RisU):
> display (RU):
> #====================================
>
> fn:=`D:\Romanzew.txt`:
> L:=readdata (fn, 2):
> Graf:=plot (L, style=point, symbol=cross, color=blue, symbolsize=18):
> display (Graf, RU);
> L:=readdata (fn, 2):
Nstrok:=vectdim (L):
> U_n:=array (1.Nstrok):
T_n:=array (1.Nstrok):
>
> for j from 1 to Nstrok do
T_n[j]: =L[j, 1];
U_n[j]:=L[j, 2];
#print (j, T_n[j], U_n[j]);
od:
> u1:=zip ((a, b)->[a, b], T_n, U_n):
> RU1:=plot (u1,style=point, symbol=cross, color=black):
> display (RU, RU1);
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π½Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΡΠ΅ΡΠΊΠ°Ρ
>
> printf («%s» ,` β t U_map U_pas ΡΠ°Π·Π½ n`);
for k from 0 to Nt do t:=Tx[k]: del:=U_map[k]-U_n[k+1];
printf («% 3.0f % 6.2f % 8.4f % 8.4f % 8.4f n», k, t, U_map[k], U_n[k+1], del):
end:;
β t U_map U_pas ΡΠ°Π·Π½
0 0.00 0.2000 0.2000 0.0000
1 0.10 0.3709 0.3666 0.0043
2 0.20 0.4525 0.4460 0.0065
3 0.30 0.4532 0.4467 0.0065
4 0.40 0.3952 0.3901 0.0051
5 0.50 0.3053 0.3024 0.0029
6 0.60 0.2100 0.2096 0.0004
7 0.70 0.1348 0.1367 -0.0019
8 0.80 0.1033 0.1073 -0.0040
9 0.90 0.1371 0.1424 -0.0053
10 1.00 0.2514 0.1819 0.0695
11 1.10 0.2745 0.2052 0.0693
12 1.20 0.3214 0.2536 0.0678
13 1.30 0.3725 0.3082 0.0643
14 1.40 0.4070 0.3480 0.0590
15 1.50 0.4108 0.3582 0.0526
16 1.60 0.3801 0.3343 0.0458
17 1.70 0.3197 0.2802 0.0395
18 1.80 0.2388 0.2046 0.0342
19 1.90 0.1854 0.1879 -0.0025
20 2.00 0.2057 0.2100 -0.0043
21 2.10 0.1965 0.2027 -0.0062
22 2.20 0.1804 0.1885 -0.0081
23 2.30 0.1766 0.1860 -0.0094
24 2.40 0.1986 0.2086 -0.0100
25 2.50 0.2516 0.2610 -0.0094
26 2.60 0.3302 0.3381 -0.0079
27 2.70 0.4216 0.4275 -0.0059
28 2.80 0.5131 0.5172 -0.0041
29 2.90 0.5597 0.5218 0.0379
30 3.00 0.4771 0.4443 0.0328
31 3.10 0.3789 0.3507 0.0282
32 3.20 0.2759 0.2512 0.0247
33 3.30 0.1788 0.1569 0.0219
34 3.40 0.0985 0.0785 0.0200
35 3.50 0.0449 0.0260 0.0189
36 3.60 0.0261 0.0075 0.0186
37 3.70 0.0449 0.0261 0.0188
38 3.80 0.1662 0.1393 0.0269
39 3.90 0.3272 0.2998 0.0274
40 4.00 0.4275 0.4009 0.0266
41 4.10 0.4603 0.4360 0.0243
42 4.20 0.4356 0.4148 0.0208
43 4.30 0.3738 0.3568 0.0170
44 4.40 0.2983 0.2850 0.0133
45 4.50 0.2327 0.2225 0.0102
46 4.60 0.1994 0.1916 0.0078
47 4.70 0.2194 0.2132 0.0062
48 4.80 0.2276 0.2187 0.0089
49 4.90 0.2051 0.1964 0.0087
50 5.00 0.2197 0.2105 0.0092
2.2 Π‘ΠΏΠ΅ΠΊΡΡΠ°Π»ΡΠ½Π°Ρ Π°Π½Π°Π»ΠΈΠ· ΡΠΈΠ³Π½Π°Π»Π° Π² Maple
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ MAPLE
Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ². ΠΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π½Π°Π±ΡΠ°Π½Π½ΡΠ΅ ΠΊΡΠ°ΡΠ½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ, Π½Π°ΠΆΠΈΠΌΠ°Ρ ΠΊΠ»Π°Π²ΠΈΡΡ Enter. (Π‘Π»Π΅Π΄ΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΠΌ ΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΡΠΌ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΌ Π½ΠΈΠΆΠ΅, Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ°ΡΡΠ΅ΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° Π·Π°Π΄Π°Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π°ΡΡΠΎΡΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π² Π½ΡΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΈΡΡΠ΅ΠΌΡ Maple).
ΠΠΎΠΌΠ°Π½Π΄Π° restart Π½ΡΠΆΠ½Π° Π΄Π»Ρ ΠΎΡΠΈΡΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΏΡΠΈ Π½Π°ΡΠ°Π»Π΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠ΅Π°Π½ΡΠ°. ΠΠ²Π΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±ΡΡ ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ pp:=(x, y)->[x, y] ΡΡΡΠΎΠΈΡΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ (ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΎΡΠΊΠΈ ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ) Π² ΡΠΏΠΈΡΠΎΠΊ. ΠΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π°Π²Π°ΡΡΡΡ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ΅ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠΎΡΠ΅ΠΊ. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² (ΡΠ΅ΠΊΡΡ ΡΠΈΠ½Π΅Π³ΠΎ ΡΠ²Π΅ΡΠ°) Π½Π΅ ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²ΡΡΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅, Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡ ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠΌΠ°Π½Π΄Π° trace Π² ΠΎΠ±ΡΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π·Π°Π΄Π°Π΅Ρ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅, Π° Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±ΡΡ ΠΎΠ½Π° ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄Π° ΠΌΠ°ΡΡΠΈΡΡ.
>
>
> restart;
> with (linalg):with (plots):
pp:=(x, y)->[x, y];
ΠΠ°Π΄Π°Π΅ΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠΈΠ³Π½Π°Π» (Π²Π°ΡΠΈΠ°Π½Ρ 1), ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π½Π° ΡΠΈΠ³Π½Π°Π» ΡΠ²ΠΎΠ΅Π³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ°.
ΠΡΠΎ ΡΠΈΠ½ΠΈΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΠΎΠΉ Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄Ρ, Π·Π°Π΄Π°Π½Π½Π°Ρ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΠΎΠΌ ΠΎΡΡΠ΅Π·ΠΊΠ΅-Π½ΠΎΡΠΈΡΠ΅Π»Π΅.
> f:= proc (t) local z ;z:=piecewise (t<0,0,t<=1,1-sin (Pi*t), 0); evalf (z);end;
> plot (f (t), t=-1.2,thickness=2,color=brown);
> T:=2*Pi;#ΠΏΠ΅ΡΠΈΠΎΠ΄ ΡΠΈΠ³Π½Π°Π»Π°
> tau:=2;#Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠ³Π½Π°Π»Π° ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ ΡΡΠΈΠ³ΠΎΠ½ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠ΄Π° Π€ΡΡΡΠ΅ ΠΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ Π€ΡΡΡΠ΅ Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ Π² Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΎΠΉ Fourier (T, F),
Π³Π΄Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ²Π»ΡΡΡΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΠΏΠ΅ΡΠΈΠΎΠ΄Π° T ΠΈ ΠΈΠΌΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, Π²ΡΡΠΈΡΠ»ΡΡΡΠ΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»Π° Π½Π° ΠΎΡΡΠ΅Π·ΠΊΠ΅ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎΡΡΠΈ. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Period, Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠ±Π΅ΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ.
ΠΡΠΎΡΠ΅Π΄ΡΡΠ° Fourier Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ Π€ΡΡΡΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΠΈΡ ΠΊΠ°ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ Π΄Π»Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
ΠΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ — ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ΅ΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΈ ΡΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π½Π° ΠΎΡΡΠ΅Π·ΠΊΠ΅ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎΡΡΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°Π΄Π°ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π΄ΡΡΠ³ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²:
>
> signal:=proc (x)global tau, T;
f (x/tau);
end;
> plot (signal (x), x=0.T, thickness=2,color=blue);
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Fourier Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° F.
>
> Fourier:=proc (T, f) global a0, A, B;
a0:=2/T*evalf (Int (f (x), x=0.T)):;
A:=value (2/T*int (f (x)*cos (2*Pi*k*x/T), x=0.T));
B:=value (2/T*int (f (x)*sin (2*Pi*k*x/T), x=0.T));
end proc:
ΠΡΡΠΈΡΠ»ΠΈΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² ΠΈ Π²ΡΠ²Π΅Π΄Π΅ΠΌ ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
> Fourier (T, signal):
> a0;evalf (A, 4);evalf (B, 4);
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ (ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° subs) Π½Π°ΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΈΡΠ΅Π» Π² ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΠ°ΡΠΈΠΊΡΠΈΡΡΠ΅ΠΌ ΡΠΈΡΠ»ΠΎ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² (ΡΡΠ΅ΠΏΠ΅Π½Ρ)ΡΡΠΈΠ³ΠΎΠ½ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° Π€ΡΡΡΠ΅ ΠΈ ΠΏΠΎΡΡΡΠΎΠΈΠΌ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΡΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° ΠΈ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ°ΡΡΠΈΡ Π΅Π³ΠΎ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠΎΠ² Π΄Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΡΠ΅ΠΏΠ΅Π½Π΅ΠΉ. ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ k, ΠΊΠ°ΠΊ ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² Π€ΡΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΎΠΉ Fourier
>
> Trig:=proc (t, n) local z;global k, T, a0,A, B;
z:=a0/2+sum (A*cos (k*2*Pi*t/T)+B*sin (k*2*Pi*t/T), k=1.n);
end:
ΠΠΎΡΡΡΠΎΠΈΠΌ Π³ΡΠ°ΡΠΈΠΊ ΡΡΠΈΠ³. ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° ΠΏΡΡΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ
> plot (Trig (x, 5), x=-T.2*T);
> grafik:=plot (signal (x), x=-0.2.T+0.2,thickness=3,color=blue, discont=true):
ΠΠΎΡΡΡΠΎΠΈΠΌ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΡΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈ ΡΠΈΠ³Π½Π°Π»Π° ΠΈ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠΎΠ² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠ΅ΠΏΠ΅Π½Π΅ΠΉ
> CL:=brown, red, gold;
> RisTrig:=seq (plot (Trig (t, 2*j), t=-0.1.2*T, color=CL[j]), j=1.3):
> display (RisTrig, grafik);;
>
> with (plottools):
ΠΡΠΏΠΎΠ»Π½ΠΈΠΌ ΡΠΏΠ΅ΠΊΡΡΠ°Π»ΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π°. ΠΠ°ΡΠ΅ΠΌ Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΡΠΈΠ³Π½Π°Π» ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΡΠΎΠΈΠΌ Π΅Π³ΠΎ ΡΠΏΠ΅ΠΊΡΡ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ Π² ΡΠΏΠ΅ΠΊΡΡΠ°Ρ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»ΠΎΠ². ΠΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΠΌ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΡΠ΅ΡΠ°ΡΡΠΈΠ΅ ΡΡΡ Π·Π°Π΄Π°ΡΡ. Π’Π΅ΠΊΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ, ΠΈΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠΠ΅ ΠΈ ΡΠΌΡΡΠ» ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΠΎΡΠΎΠ±ΠΈΠΈ «Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Maple» Π³Π»Π°Π²Π° 9.3 —- ΠΡΡΠΎΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠΎΡΠ΅Π΄ΡΡΠ° Fourier_T Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ Π² Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΌΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»Ρ, ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ ΡΡΠ΄Π° Π€ΡΡΡΠ΅.
>
> Fourier_T:=proc (F, T0, TN, k: evaln) local T;
global A0, Ak, Bk;
T:=TN-T0;
A0:=2/T*Int (F (x), x=T0.TN);
Ak:=2/T*int (F (x)*cos (k*x*2*Pi/T), x=T0.TN):
Bk:=2/T*int (F (x)*sin (k*x*2*Pi/T), x=T0.TN):
end proc:
ΠΡΠΎΡΠ΅Π΄ΡΡΠ° Trig_polynom ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ Π½ΠΎΠΌΠ΅ΡΠΎΠ² k Π² ΡΠΎΡΠΌΡΠ»Ρ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΡΡΠΈ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π²ΠΎ Π²Π½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°Ρ a, b [0.N]. ΠΠ°ΠΎΠ΄Π½ΠΎ ΡΡΡΠΎΠΈΡΡΡ Π³ΡΠ°ΡΠΈΠΊ ΡΡΠΈΠ³ΠΎΠ½ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° ΡΡΠ΅ΠΏΠ΅Π½ΠΈ N (ΡΡΡΡΠΊΡΡΡΠ° RisTrig, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ²Π΅Π΄Π΅Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ display ΠΏΠΎΡΠ»Π΅ Π²ΡΠ·ΠΎΠ²Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ).
>
> Trig_polynom:=proc (N, T, a0,ak, bk, k: evaln) local n, Pol, A0, A, B;
global a, b, RisTrig;
a:=array (0.N);b:=array (0.N);
A0:=evalf (a0);a[0]: =A0;b[0]:=0;
A:=seq (evalf (subs (k=n, ak)), n=1.N);
B:=seq (evalf (subs (k=n, bk)), n=1.N);
for n from 1 to N do
a[n]: =A[n];b[n]:=B[n];
end do;
Pol:=A0/2+sum (A[k]*cos (2*Pi*k*x/T)+B[k]*sin (2*Pi*k*x/T), k=1.N):
RisTrig:=plot (Pol, x=-T/2.3*T/2,color=blue, thickness=2):
RETURN (Pol);
end proc:
ΠΡΠΎΡΠ΅Π΄ΡΡΠ° ARR ΡΡΡΠΎΠΈΡ ΡΠΏΠ΅ΠΊΡΡ Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄ Π»ΠΈΠ½Π΅ΠΉΡΠ°ΡΠΎΠΉ Π³ΠΈΡΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ.
>
> ARR:=proc (n:integer, c) local L, H, ma, mi, k: integer,
Sim:array (0.n);
ma:=c[0]; mi:=c[0];
L:=line ([0,c[0]],[n, c[n]], thickness=2,color=red);
for k from 1 to n do
if c[k]>ma then ma:=c[k]; end if;
if c[k]
end do;
H:=ma-mi;
if H=0 then RETURN (L) end;
for k from 0 to n do
if abs (c[k])
Sim[k]: =ellipse ([k, c[k]], 0.2,0.01*H, color=blue);
else
Sim[k]:=plottools[arrow]([k, 0],[k, c[k]], 0.2,0.2,0,color=black);
end if;
end do;
convert (Sim, list);
end:
ΠΡΠΎΡΠ΅Π΄ΡΡΠ° Spectr Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠΉ (ΡΠΈΠ½ΡΡΠ½ΠΎΠΉ) ΡΠΎΡΠΌΡ ΡΡΠΈΠ³ΠΎΠ½ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ°.
ΠΡΠ°ΡΠΈΠΊ ΡΠΏΠ΅ΠΊΡΡΠ° ΡΠ°Π· —- ΡΡΡΡΠΊΡΡΡΠ° Risphi.
> Spectr:=proc (n, a, b, c, Risphi) local k, R, phi;
for k from 0 to n do
c[k]: =evalf (abs (I*a[k]+b[k])):
phi:=evalf (argument (I*a[k]+b[k]));
R[k]:=[eval (k), eval (phi)];
end:;
Risphi:=plot (convert (R, list)):
end:
ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΠΉ ΠΈΠΌΠΏΡΠ»ΡΡ f (t) Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΠΎΠΉ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ (Π·Π΄Π΅ΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΡΠΈΠ³Π½Π°Π»Π°, Π·Π°ΠΌΠ΅Π½ΠΈΠ² ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠΏΡΠ»ΡΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ piecewise).
ΠΠΎΡΡΡΠΎΠΈΠΌ ΡΠΈΠ³Π½Π°Π» (F_for_all) Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ Π΄Π»Ρ Π½Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠΏΠ΅ΠΊΡΡΠ°Π»ΡΠ½ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ.
ΠΠ΄Π΅ΡΡ ΠΈ Π΄Π°Π»ΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π΅ Π±ΡΠ΄ΡΡ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΠΎΡ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΡΠΈΠ³Π½Π°Π»Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° ΡΠ΅ΠΏΠ΅ΡΡ Ρ Π²ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ (F_for_all)
ΠΠΎΠ»ΠΎΠΆΠΈΠΌ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° T=2 (Π΄Π»Ρ Π²ΡΠ΅Ρ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ²). ΠΠ½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ Fourier_T.
>
> tau:=Pi;# Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠ³Π½Π°Π»Π°
> T:=2*Pi;# Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΠΏΠ΅ΡΠΈΠΎΠ΄Π°
> F_for_all:=proc (t) global tau;f (t/tau);end proc:;
ΠΠΎΠ»ΡΡΠΈΠΌ ΡΠΎΡΠΌΡΠ»Ρ Π΄Π»Ρ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² Π€ΡΡΡΠ΅, Π·Π°Π²ΠΈΡΡΡΠΈΠ΅ ΠΎΡ Π½ΠΎΠΌΠ΅ΡΠ° ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠ° k.
Ris1:=plot (F_for_all (t), t=0.T, color=brown, thickness=2):display (Ris1);
> Fourier_T (F_for_all, 0, T, k):
> a0:=evalf (A0);a_k=Ak;b_k=Bk;
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π²Π΅Π»ΠΈΡΠΈΠ½ Π‘[k] Π² Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠΈΡΠ»ΠΈΡΡ (Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ Π½Π°ΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ k) ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π΅:
> > C[k]: =simplify (sqrt (Ak2+Bk2)):
ΠΠ»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠΏΠ΅ΠΊΡΡΠ° Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄ Π·Π°ΡΠΈΠΊΡΠΈΡΡΠ΅ΠΌ ΡΠΈΡΠ»ΠΎ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Trig_polynom
Π²ΡΡΠΈΡΠ»ΠΈΠΌ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ a[k], b[k] ΡΡΠΈΠ³ΠΎΠ½ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° ΡΡΠ΅ΠΏΠ΅Π½ΠΈ N, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΡΠΎΠΈΠΌ Π΅Π³ΠΎ Π³ΡΠ°ΡΠΈΠΊ Π½Π° ΠΎΡΡΠ΅Π·ΠΊΠ΅, Π±ΠΎΠ»ΡΡΠ΅ΠΌ Π΄Π»ΠΈΠ½Ρ ΠΏΠ΅ΡΠΈΠΎΠ΄Π°. ΠΠ°ΡΡΠΈΠ²Ρ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΡΠ²Π»ΡΡΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌΠΈ, ΡΠΎ Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ Π²Π½Π΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ.
> N:=15;
> Trig_polynom (N, T, A0,Ak, Bk, k):
> display (RisTrig, Ris1) :
ΠΠΌΠΏΠ»ΠΈΡΡΠ΄Π½ΡΠΉ ΡΠΏΠ΅ΠΊΡΡ (ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ Π‘[k]) Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΎΠΉ Spectr, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΊΠ°ΠΊ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠΉ ΡΡΡΠ΅ΠΊΡ ΡΡΡΠΎΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΡΡΡΡΠΊΡΡΡΡ
Risphi1, ΡΠ²Π»ΡΡΡΡΡΡΡ Π³ΡΠ°ΡΠΈΠΊΠΎΠΌ ΡΠΏΠ΅ΠΊΡΡΠ° ΡΠ°Π·. ΠΡΠ°ΡΠΈΠΊ ΡΠΏΠ΅ΠΊΡΡΠ° Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄ ΡΡΡΠΎΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ARR.
> Spectr (N, a, b, c,'Risphi1'):;
> display (ARR (N, c));
> RisAMP:=display (ARR (N, c)):
> display (Risphi1);
ΠΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ Π·Π°Π΄Π°ΡΠΈ ΠΠ°ΠΊΠ΅Ρ MAPLE Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π² Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΌΠ΅, Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅: ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ΅Ρ Π² ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΌ Π²ΠΈΠ΄Π΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° fsolve. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ², ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΡ Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΠΌΠΈ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΏΡΡΠ΅ΠΌ (ΡΡΠ΅Π΄Π° Turbo Delphi), ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ, ΡΠΎ Π΅ΡΡΡ ΠΊ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΠΌ Π½Π° ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ΅Π·ΠΊΠ° [0, T]. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΌΠ°ΡΡΠΈΠ² Y Π΄Π»Ρ ΡΠ΅ΡΠΎΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ F_for_all (t), ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ a, b Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² ΡΡΠΈΠ³ΠΎΠ½ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ°, Π°ΠΏΠΏΡΠΎΠΊΡΠΈΠΌΠΈΡΡΡΡΠ΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΡ f (t) Π½Π° ΠΎΡΡΠ΅Π·ΠΊΠ΅ Π΄Π»ΠΈΠ½Ρ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° T > .
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ Nt, Π·Π°Π΄Π°ΡΡΠΈΠΉ ΡΠΈΡΠ»ΠΎ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΡΡ ΠΎΡΡΡΠ΅ΡΠΎΠ² (0. Nt) ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠ°ΠΊΠΈΡ -Π½ΠΈΠ±ΡΠ΄Ρ 2−3 Π²Π°ΡΠΈΠ°Π½ΡΠ°. ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π°ΠΏΠΏΡΠΎΠΊΡΠΈΠΌΠ°ΡΠΈΠΈ ΡΠΈΠ³Π½Π°Π»Π° Π½Π° ΠΏΠ΅ΡΠΈΠΎΠ΄Π΅. (Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΠ΅ΠΎΡΠ΅ΠΌΠ΅ ΠΠΎΡΠ΅Π»ΡΠ½ΠΈΠΊΠΎΠ²Π°, Π΅ΡΠ»ΠΈ ΡΠΈΠ³Π½Π°Π» ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ ΡΠΏΠ΅ΠΊΡΡ, ΡΠΎ ΡΠΈΠ³Π½Π°Π» ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΡΠ½ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΏΠΎ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΎΡΡΡΠ΅ΡΠ°ΠΌ, Π½ΠΎ ΠΏΡΠΈ ΠΌΠ°Π»ΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΠΎΡΡΡΠ΅ΡΠΎΠ² Π±ΡΠ΄ΡΡ ΠΏΠΎΡΠ΅ΡΡΠ½Ρ Π²ΡΡΠΎΠΊΠΎΡΠ°ΡΡΠΎΡΠ½ΡΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠΈΠ³Π½Π°Π»Π°).
Π§ΠΈΡΠ»ΠΎ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² ΡΡΠΈΠ³ΠΎΠ½ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ ΠΈ ΡΠ°Π²Π½ΠΎΠ΅ n = Nt/2
ΠΠ°ΡΡΠΈΠ²Ρ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² Π€ΡΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΏΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ n, Π½ΠΎ Π² ΡΠΈΠ»Ρ ΠΎΡΡΠΎΠ³ΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠΈΠ³ΠΎΠ½ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΡΠΈΠ³ΠΎΠ½ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΡ ΠΌΠ΅Π½ΡΡΠ΅ΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠ΅ ΠΆΠ΅ ΡΠ°ΠΌΡΠ΅ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ (ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ²).
ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΡΠΏΠ΅ΠΊΡΡΠ°Π»ΡΠ½ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° Π² Maple Π±ΡΠ΄Π΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΠΠ€ (Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π€ΡΡΡΠ΅, ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅ «ΠΠΈΡΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π€ΡΡΡΠ΅. pdf»).
ΠΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΠΌ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ DTF ΠΈΠ· ΠΏΠΎΡΠΎΠ±ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Setka ΠΈ Spectr_DTF, ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² ΠΠΠ€.
>
> DTF:=proc (y, N, Y, n) local k, j, p, h;
h:=2*Pi/N;
2.1: for k from 0 to n do
p:=0;
for j from 0 to N-1 do
p:=p+evalf (y[j]*exp (-I*k*j*h));
end;
Y[k]: =evalf (p/N);
end:
end:;
> Setka:=proc (Nt, T, F, Y: array) local h, j, x, R;
global GrafF;
h:=T/Nt;
for j from 0 to Nt do
x:= evalf (j*h);
Y[j]: = F (x);
R[j]: =[j, eval (Y[j])];
end:
5.1: R[Nt]: =[j, eval (Y[0])];
GrafF:=plot (convert (R, list), 0. Nt, color=brown,
style=point, symbol=circle):
end:
> 6: Spectr_DTF:=proc (n, C, A, phi) local k, R;global Risphi;
6.1: for k from 0 to n do
A[k]: =evalf (abs (C[k])):
phi[k]:=evalf (argument (C[k]));
R[k]:=[eval (k), eval (phi[k])];
end:;
Risphi:=plot (convert (R, list), thickness=2,color=blue, style=point, symbol=box):
end:
ΠΠ°Π΄Π°Π΄ΠΈΠΌ ΡΠΈΡΠ»ΠΎ ΡΠΎΡΠ΅ΠΊ Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ N= Nt+1, ΡΠΈΡΠ»ΠΎ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² n Π² ΠΌΠ°ΡΡΠΈΠ²Π°Ρ ΠΠΠ€ (N— ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΠΠ€ ΠΈ ΠΎΠ½ ΡΠ°Π²Π΅Π½ ΡΠΈΡΠ»Ρ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΡΡ ΠΎΡΡΡΠ΅ΡΠΎΠ² ΡΠΈΠ³Π½Π°Π»Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΌΠ΅ΡΡΡΡΡΡ ΠΈΠ½Π»Π΅ΠΊΡΠ°ΠΌΠΈ 0. N-1).
ΠΠ»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΠΈ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² n Π±ΡΠ΄Π΅ΠΌ Π·Π°Π΄Π°Π²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠΌ Nt. Π ΡΠ»ΡΡΠ°Π΅ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° (Π½Π΅ ΠΈΠΌΠ΅ΡΡΠ΅Π³ΠΎ ΠΌΠ½ΠΈΠΌΠΎΠΉ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ) Π² ΡΠΈΠ»Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΠΈ ΡΠΏΠ΅ΠΊΡΡΠ°Π»ΡΠ½ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ (ΡΠ΅ΡΠ½Π°Ρ — Π΄Π»Ρ ΠΠ§Π₯, Π½Π΅ΡΠ΅ΡΠ½Π°Ρ — Π΄Π»Ρ Π€Π§Π₯) ΠΏΠΎΠ»Π°Π³Π°ΡΡ n=Nt/2, Π΅ΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠΎΠ², Π° Π½Π΅ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠ³Π½Π°Π»Π° ΠΎΠ±ΡΠ°ΡΠ½ΡΠΌ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π€ΡΡΡΠ΅.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°Π΄Π°ΡΠΈ
> Nt:=31;`ΡΠΈΡΠ»ΠΎ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΡΡ ΠΎΡΡΡΠ΅ΡΠΎΠ² -1`:
> n:=Nt;# Π² ΠΎΠ±ΡΡΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅
n:=60;# Π΄Π»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΠΈ
> C:=array (0.n):phi:=array (0.n):A:=array (0.n):;
Y:=array (0.Nt):
> Setka (Nt, T, F_for_all, Y);
> DTF (Y, Nt+1,C, n):
> Spectr_DTF (n, C, A, phi):;
> display (ARR (n, A));
> display (RisAMP);
maple delphi ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π·Π°Π΄Π°ΡΠ°
1.Π€Π°ΡΠΎΠ½ΠΎΠ² Π. Π. DELPHI. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ. Π£ΡΠ΅Π±Π½ΠΈΠΊ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ².—Π‘ΠΠ±.:ΠΠΈΡΠ΅Ρ, 2005, 640Ρ.
4.ΠΠΎΠ½Π΄ΡΠ°ΡΡΠ΅Π² Π. Π. Π―Π·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π‘ΠΈΡΡΠ΅ΠΌΠ° Maple.Ρ. I. ΠΡΠ½ΠΎΠ²Ρ ΡΠ°Π±ΠΎΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. Π§. III/. Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ. Π£ΡΠ΅Π±Π½ΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅. ΠΠΊΠ°ΡΠ΅ΡΠΈΠ½Π±ΡΡΠ³: Π£ΡΠ’ΠΠ‘Π ΠΠΠ£ ΠΠΠ «Π‘ΠΈΠ±ΠΠ£Π’Π», 2006.