ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ элСктричСской Ρ†Π΅ΠΏΠΈ

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ парамСтричСской ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ осущСствляСтся ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌΡ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², сравнСния ΠΈΡ… ΠΌΠ΅ΠΆΠ΄Ρƒ собой ΠΈ Π²Ρ‹Π±ΠΎΡ€Π° Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°. Алгоритм Π²Ρ‹Π±ΠΎΡ€Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² носит Π½Π°Π·Π²Π°Π½ΠΈΠ΅ стратСгии поиска. ЦСль курсового проСктирования состоит Π² ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ΠΈΠΈ Π½Π°Π²Ρ‹ΠΊΠΎΠ² примСнСния матСматичСского модСлирования… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ элСктричСской Ρ†Π΅ΠΏΠΈ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  • 1. Π—Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚
  • 2. Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ матСматичСской ΠΌΠΎΠ΄Π΅Π»ΠΈ
  • 3. Поиск пСриодичСского Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ
  • 4. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π΅ΡΠΊΠ°Ρ оптимизация элСктричСской Ρ†Π΅ΠΏΠΈ
  • 5. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹
  • Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° элСктричСский Ρ†Π΅ΠΏΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°
  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  • ЦСль курсового проСктирования состоит Π² ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ΠΈΠΈ Π½Π°Π²Ρ‹ΠΊΠΎΠ² примСнСния матСматичСского модСлирования, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ, Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΡΡ€Π΅Π΄ΡΡ‚Π² Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ элСктричСских Ρ†Π΅ΠΏΠ΅ΠΉ.
  • 1. Π—Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚
  • Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅
  • E (t) = E0+ECcos (2Ρ€t/T)+ESsin (2Ρ€t/T)
  • ЗначСния Π½Π΅ Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²:
  • Π•0=110 Π’, Π•Π‘=50 Π’, Π•S=50 Π’, R1=R2=R3=1Ом, R4=R5=100Ом, Π’=0,01с,
  • Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²:
  • L [10-4; 10-1](Π“Π½), C [10-6; 10-2](Π€).
  • Искомая выходная пСрСмСнная UR5
  • ΠœΠ΅Ρ‚ΠΎΠ΄ интСгрирования: Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΉ
  • ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ: ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½ΠΎΠ³ΠΎ спуска
  • ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠšΡ€: нСпосрСдствСнный
  • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ состояния: IL, UC.
  • 2. Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ матСматичСской ΠΌΠΎΠ΄Π΅Π»ΠΈ
  • Для формирования матСматичСской ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ элСктричСской Ρ†Π΅ΠΏΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… состояний.
  • ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ модСль прСдставляСт собой систСму Π΄Π²ΡƒΡ… Π΄ΠΈΡ„Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ порядка с ΠΏΠΎΡΡ‚оянными коэффициСнтами
  • Π³Π΄Π΅ — fi® — Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ ΡΠΎΠΏΡ€ΠΎΡ‚ΠΈΠ²Π»Π΅Π½ΠΈΠΉ
  • ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ Π΄Π°Π½Π½ΡƒΡŽ систСму ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅:
  • ΠΈΠ»ΠΈ, учитывая Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ Π·Π°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ напряТСния:
  • Π³Π΄Π΅ X (t) = [xt(t), x2(t)] = [iL(t), uC(t)] - Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… состояния;
  • — ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°
  • Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ порядка постоянных коэффициСнтов ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… состояния Π² ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ;
  • — Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ внСшнСго воздСйствия
  • Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для опрСдСлСния Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ состояния ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄:
  • y = UR5 = f1®*iL + f2®*uC
  • Π—Π°ΠΏΠΈΡˆΠ΅ΠΌ систСму ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ описываСмых схСму
  • Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ систСма ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ ΠΏΠΎ Π·Π°ΠΊΠΎΠ½Π°ΠΌ ΠšΠΈΡ€Ρ…Π³ΠΎΡ„Π°
  • ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΡƒΠ·Π»ΠΎΠ²: NΡƒΠ·Π» = 4
  • ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π²Π΅Ρ‚Π²Π΅ΠΉ: NΠ² = 6
  • ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π²Π΅Ρ‚Π²Π΅ΠΉ, содСрТащих Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ источники Π­Π”Π‘: NΠ•=1,
  • ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π²Π΅Ρ‚Π²Π΅ΠΉ, содСрТащих источники Ρ‚ΠΎΠΊΠ°: NJ=0,
  • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ состояния ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ iL ΠΈ uC.
  • По ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ Π·Π°ΠΊΠΎΠ½Ρƒ ΠšΠΈΡ€Ρ…Π³ΠΎΡ„Π°
  • N1ΡƒΡ€= NΡƒΠ·Π» -NE -1 = 4 — 1 — 1 = 2
  • По Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ Π·Π°ΠΊΠΎΠ½Ρƒ ΠšΠΈΡ€Ρ…Π³ΠΎΡ„Π°
  • N2ΡƒΡ€= NΠ² -NΡƒΠ·Π» +1 = 6 — 4 + 1 = 3
  • ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹Π΅ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ для элСмСнтов схСмы:
  • НайдСм iR5
  • iR5 = iR3 — iC
  • iC = iL — iR2
  • ΠŸΠΎΠ΄ΡΡ‚Π°Π²ΠΈΠΌ iC ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ iR5 = iR3 — iL + iR2
  • Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны iR5 ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅
  • iR4 = iR2 + iR3
  • iR5 = iR4 — iL
  • UR4 = -UR3 — UR5 = -iR3R3 — iR5R5
  • (*)
  • Π’ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΈ Π½Π΅ ΠΈΠ·Π²Π΅ΡΡ‚Π½ΠΎ iR3 — Π½Π°ΠΉΠ΄Π΅ΠΌ Π΅Π³ΠΎ.
  • iC = iR3 — iR5
  • UR1 = UR2 — UR3 — UC
  • ΠžΡ‚ΠΊΡƒΠ΄Π° Π²Ρ‹Ρ€Π°Π·ΠΈΠΌ iC
  • =>(1)
  • Π’ ΡΡ‚ΠΎΠΌ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΈ нСизвСстно iR2
  • iR2 = iR3 — iR4
  • UR4= -UR5 — UR3 = -iR5R5 — iR3R3
  • (2)
  • подставим (2) Π² (1)
  • (3)
  • подставим (3) Π² (*)
  • ΠžΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ Ρ‡Π΅Ρ€Π΅Π· Z1
  • ΠžΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ Ρ‡Π΅Ρ€Π΅Π· Z2
  • НайдСм iC
  • iC = iR3 — iR5 =
  • НайдСм iL
  • UL = E — UR4 — UR2 = E + UR3 + UR5 — UR2
  • UR4 = - UR3 — UR5
  • ΠžΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ функция ΠΎΡ‚ R ΠΏΠ΅Ρ€Π΅Π΄ UC ΠΊΠ°ΠΊ К1 ΠΈ Πš2, Π° ΠΏΠ΅Ρ€Π΅Π΄ iL ΠΊΠ°ΠΊ К3 ΠΈ Πš4. Π’ΠΎΠ³Π΄Π°:
  • Π“Π΄Π΅
  • ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ Π΄Π°Π½Π½ΡƒΡŽ систСму ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅:
  • ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ модСль Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅
  • ,
  • ΠΈΠ»ΠΈ учитывая Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ Π·Π°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ напряТСния:
  • Π³Π΄Π΅Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… состояния;
  • — ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ порядка постоянных коэффициСнтов ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… состояния Π² ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΡΡ… ΠΌΠΎΠ΄Π΅Π»ΠΈ;
  • — Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ внСшнСго воздСйствия.
  • Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для опрСдСлСния Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ состояния ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄:
  • 3. Поиск пСриодичСского Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ
  • ΠŸΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ матСматичСских ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ элСктричСских Ρ†Π΅ΠΏΠ΅ΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° стационарных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ систСм Π΄ΠΈΡ„Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ ΠΎΠ΄Π½Π° ΠΈΠ· Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹Ρ…. Π­Ρ‚ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ стационарныС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ²ΡˆΠΈΠ΅ΡΡ состояния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ для элСктричСских Ρ†Π΅ΠΏΠ΅ΠΉ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ состояниями функционирования.
  • АналитичСский ΠΌΠ΅Ρ‚ΠΎΠ΄
  • ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ пСриодичСского Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ аналитичСским ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ производится с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ procedure Def_An, procedure Def_An_t.
  • procedure Def_An_t (t:real);
  • var Y: Vector;
  • begin
  • Y:=Dc;
  • Mult_Vect_Sc (n, Y, cos (w*t));
  • Add_Vect (n, D0, Y, D);
  • Y:=Ds;
  • Mult_Vect_Sc (n, Y, sin (w*t));
  • Add_Vect (n, D, Y, D);
  • end;
  • НСпосрСдствСнный ΠΌΠ΅Ρ‚ΠΎΠ΄
  • Для опрСдСлСния пСриодичСского Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ нСпосрСдствСнным ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ примСняСтся ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° procedure Def_Nep.
  • Procedure Def_nep (var X: Vector);
  • var Z1, Z2:Matrix;
  • Y:Vector;
  • begin
  • y[1]: =0;y[2]:=0;
  • for i:=1 to M do
  • begin
  • t:=i*h;
  • Def_B_t (t);
  • Rung_Kut4(A, B, h, X);
  • end;
  • Det_L (A, Lam, def);
  • M_Exp (n, A, TT, Z1);
  • Mult_Matr_Sc (n, Z1,-1);
  • E_Matr (n, Z2);
  • Add_Matr (n, Z1, Z2,Z2);
  • Obr_Matr (Z2,Z1);
  • Mult_Matr_Vect (n, Z1, Y, X);
  • end;
  • ΠœΠ΅Ρ‚ΠΎΠ΄ установлСния
  • ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° procedure Ust Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ поиск пСриодичСского Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ установлСния ΠΈ ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… зависимостСй ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… состояния ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅.
  • Procedure Ust (P:Vect);
  • begin
  • Def_A_B (P);
  • x[1]: =0;x[2]:=0;
  • j:=0;
  • repeat
  • j:=j+1;
  • X1:=X;
  • for i:=1 to M do
  • begin
  • t:=i*h;
  • Def_B_t (t);
  • Rung_Kut4(A, B, h, X);
  • end;
  • def:=true;
  • for i:=1 to n do
  • if abs (x[i]-x1[i])-delt*abs (x[i]+x1[i])/2>=0 then def:=false;
  • until def;
  • Init;
  • kx:=(GetMaxX-X0−10)/TT/j;
  • ky1:=120/50;
  • ky2:=120/200;
  • ky3:=-100/2;
  • x[1]: =0;x[2]:=0;
  • init;
  • xx1:=X0;y11:=Y01;y21:=Y02;y31:=Y03;
  • for k:=0 to j-1 do
  • for i:=1 to M do
  • begin
  • t:=i*h+k*TT;
  • Def_B_t (t);
  • Rung_Kut4(A, B, h, X);
  • xx:=X0+round (kx*t);
  • y1:=Y01-round (ky1*x[1]);
  • y2:=Y02-round (ky2*x[2]);
  • y3:=Y03-round (ky3*U5(X));
  • setcolor (Red);
  • line (xx1,y11,xx, y1);
  • line (xx1,y21,xx, y2);
  • line (xx1,y31,xx, y3);
  • xx1:=xx;y11:=y1;y21:=y2;y31:=y3;
  • end;
  • readln;
  • CloseGraph;
  • end;

4. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π΅ΡΠΊΠ°Ρ оптимизация элСктричСской Ρ†Π΅ΠΏΠΈ

ЦСль парамСтричСского синтСза — ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ числовых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² элСмСнтов. Π‘ΠΈΠ½Ρ‚Π΅Π· носит Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, Ссли ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠ΅ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ смыслС структуры ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Π—Π°Π΄Π°Ρ‡Ρƒ Π²Ρ‹Π±ΠΎΡ€Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ структуры Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ структурной ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, Π° Ρ€Π°ΡΡ‡Π΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΡ€ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ структурС — парамСтричСской ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ парамСтричСской ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ осущСствляСтся ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌΡ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², сравнСния ΠΈΡ… ΠΌΠ΅ΠΆΠ΄Ρƒ собой ΠΈ Π²Ρ‹Π±ΠΎΡ€Π° Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°. Алгоритм Π²Ρ‹Π±ΠΎΡ€Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² носит Π½Π°Π·Π²Π°Π½ΠΈΠ΅ стратСгии поиска.

Π§Π°Ρ‰Π΅ всСго Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ парамСтричСской ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ проводится Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΎ этапов. На ΠΏΠ΅Ρ€Π²ΠΎΠΌ этапС Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ области ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… цСлСвая функция являСтся ΡƒΠ½ΠΈΠΌΠΎΠ΄Π°Π»ΡŒΠ½ΠΎΠΉ, Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ — ΡƒΡ‚ΠΎΡ‡Π½ΡΡŽΡ‚ полоТСния Ρ‚ΠΎΡ‡Π΅ΠΊ локального ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ° Π² ΠΎΠ±Π»Π°ΡΡ‚ях ΡƒΠ½ΠΈΠΌΠΎΠ΄Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π° Π·Π°Ρ‚Π΅ΠΌ срСди Ρ‚ΠΎΡ‡Π΅ΠΊ локального ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ° Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ Ρ‚ΠΎΡ‡ΠΊΡƒ глобального ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ°. ΠŸΡ€ΠΈ этом Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ слоТным ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π°ΡŽΡ‰ΠΈΠΌΡΡ строгой Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ являСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ этап. Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ этапа ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ числСнныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ поиска экстрСмумов ΡƒΠ½ΠΈΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π΅ΡΠΊΠ°Ρ оптимизация осущСствляСтся Π² ΠΏΡ€ΠΎΡΡ‚ранствС Π΄Π²ΡƒΡ… Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½ΠΎΠ³ΠΎ спуска Π² ΡΠΎΠΎΡ‚вСтствии с Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ:

Procedure Koord (var Pmin: Vect; var Kpmin: real);

var i: byte;

P, PL: Vect;

def:boolean;

begin

for i:=1 to s do

p[i]: =(pl[i]+pp[i])/2;

repeat

PL:=P;

for i:=1 to s do

begin

p[i]: =Gold (P, i);

end;

def:=true;

for i:=1 to s do

if abs (p[i]-pl[i])-delt*abs (p[i]+pl[i])/2>=0 then def:=false;

until def;

for i:=1 to s do

pmin[i]: =(p[i]+pl[i])/2;

Kpmin:=Kp_nep (Pmin);

end;

5. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

Π§Π΅Ρ‚Π²Π΅Ρ€Π³ΠΎΠ² К. Π’. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π§Π°ΡΡ‚ΡŒ 3. Π£Ρ‡Π΅Π±Π½ΠΎΠ΅ пособиС для студСнтов ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ «ΠŸΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Π°Ρ элСктроника» дистанционной Ρ„ΠΎΡ€ΠΌΡ‹ обучСния. — Π’омск: Π’Π£Π‘Π£Π  1998. — 55с.

Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

program kurs;

Uses Crt, Graph;

Const N=2; E0=110;Ec=50;Es=50; L=0.0001; C=0.1; R1=1; R2=1; R3=R2; R4=100;R5=R4;delt=0.01;TT=0.01;w=2*pi/TT;M=100;h=TT/M;s=2; Pl: array[1.s] of real=(1e-4,1e-6);

Pp:array[1.s] of real=(1e-1,1e-2); Type Matrix=array[1.N, 1. N] of real;

Vector=array[1.N] of real;Vect=array[1.s] of real;

Var A: Matrix;

B0,Bc, Bs, B, D0,Dc, Ds, D, Lam, X, X1:Vector;

P:Vect;

t, kpmax, Z1, Z2,K1,K2,K3,K4:real;

grdr, grmd, i, j, k: integer; X0, Y01,Y02,Y03,xx, xx1, y1,y11,y2,y21,y3,y31,y4,y41,y5,y51,y6,y61:integer; kx, ky1, ky2,ky3:real;

def:boolean;

{********************ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° слоТСния Π΄Π²ΡƒΡ… ΠΌΠ°Ρ‚Ρ€ΠΈΡ† A_sum=A1+A2}

Procedure Add_Matr (n:byte;A1,A2:Matrix; var A_rez:Matrix);

var i, j: byte;

begin

for i:=1 to n do

for j:=1 to n do

a_rez[i, j]: =a1[i, j]+a2[i, j]

end;

{******************ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° слоТСния Π΄Π²ΡƒΡ… Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² B_sum=B1+B2} Procedure Add_Vect (n:byte;B1,B2:Vector; var B_rez:Vector);

var i: byte;

begin

for i:=1 to n do

b_rez[i]: =b1[i]+b2[i]

end;

{*******************ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° умноТСния Π΄Π²ΡƒΡ… ΠΌΠ°Ρ‚Ρ€ΠΈΡ† A_rez=A1*A2} Procedure Mult_Matr_Matr (n:byte;A1,A2:Matrix; var A_rez:Matrix);

var i, j, k:byte;

begin

for i:=1 to n do

for j:=1 to n do

begin

a_rez[i, j]: =0;

for k:=1 to n do a_rez[i, j]: =a_rez[i, j]+a1[i, k]*a2[k, j];

end;

end;

{*******************ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° умноТСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π° Π²Π΅ΠΊΡ‚ΠΎΡ€ Y=A*X} Procedure Mult_Matr_Vect (n:byte;A:Matrix; X: Vector; var Y: Vector);

var i, j: byte;

begin

for i:=1 to n do

begin

y[i]: =0;

for j:=1 to n do

y[i]: =y[i]+a[i, j]*x[j];

end;

end;

{******ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° умноТСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π° Π²Π΅Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ΅ число A:=A*c} Procedure Mult_Matr_Sc (n:byte; var A: Matrix; Sc: real);

var i, j: byte;

begin

for i:=1 to n do

for j:=1 to n do

a[i, j]: =Sc*a[i, j];

end;

{******ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° умноТСния Π²Π΅ΠΊΡ‚ΠΎΡ€Π° Π½Π° Π²Π΅Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ΅ число B:=B*c} Procedure Mult_Vect_Sc (n:byte; var B: Vector; Sc: real);

var i: byte;

begin

for i:=1 to n do b[i]: =Sc*b[i];

end;

{************* Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ† А, B0, Bc, Bs ΠΌΠ°Ρ‚СматичСской ΠΌΠΎΠ΄Π΅Π»ΠΈ }

Procedure Def_A_B (P:Vect);

begin

Z1:=1+R1*R3/(R4*R1+R4*R3-R2*R4-R3*R2);

Z2:=R4*R1+R4*R3-R2*R4-R3*R2; K1:=r4/z2*r3/z1*r1*r3/z2-r3*r4/z2+r4/z2*r3*r5/z1-r3/z2*(r4+r3)/z1*r1/z2+(r4+r3)/z2-r5/z2*r3/(r4+r5)*1/z1; K3:=r4/z1*r1*r3/z2+r4/(r4+r5)*r5/z1+r1/z2*(r3+r4)/z1+r5/(r4+r5)*1/z1; K2:=r4/z2*r3/z1*r1/z2-r4/z2-r4/z2*r3/(r4+r5)*1/z1;

K4:=r4/z1*r1/z2-r4/(r4+r5)*1/z1;

a[1,1]: =-k3/p[1];

a[1,2]:=k1/p[1];

a[2,1]:=-k4/p[2];

a[2,2]:=k2/p[2];

b0[1]:=1/p[1];b0[2]:=0;

bc[1]:=1/p[1];bc[2]:=0;

bs[1]:=1/p[1];bs[2]:=0;

end;

{******ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° формирования Π²Π΅ΠΊΡ‚ΠΎΡ€Π° B (t)=B0+Bc*cos (wt)+Bs*sin (wt)**}

Procedure Def_B_t (t:real);

begin

b[1]: =b0[1]+bc[1]*cos (w*t)+bs[1]*sin (w*t);

b[2]:=b0[2]+bc[2]*cos (w*t)+bs[2]*sin (w*t);

end;

{****** Ѐункция опрСдСлСния Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ***************}

function U5(X:Vector):real;

begin

U5:=-r4/(r4+r5)*r5/z1*x[1]+r4/z2*r3/(r4+r5)*r5/z1*x[2];

end;

{********ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° вычислСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ порядка }

Procedure Obr_Matr (A:Matrix; var A_obr:Matrix);

var det: real;

begin

det:=a[1,1]*a[2,2]-a[1,2]*a[2,1];

A_obr[1,1]:=a[2,2]/det;

A_obr[1,2]:=-a[1,2]/det;

A_obr[2,1]:=-a[2,1]/det;

A_obr[2,2]:=a[1,1]/det;

end;

{********************ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° формирования Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ E}

Procedure E_Matr (n:byte; var E: Matrix);

var i, j: byte;

begin

for i:=1 to n do

begin

for j:=1 to n do

e[i, j]: =0;

e[i, i]:=1;

end;

end;

{ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° вычислСния собствСнных чисСл ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, А Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ порядка }

Procedure Det_L (A:Matrix; var L: Vector; var comp: boolean);

var p0, p1,D:real;

begin

p1:=-(a[1,1]+a[2,2]);

p0:=a[1,1]*a[2,2]-a[1,2]*a[2,1];

D:=p1*p1−4*p0;

if D>=0 then

begin

comp:=false;

l[1]: =(-p1+sqrt (D))/2;

l[2]:=(-p1-sqrt (D))/2;

end

else begin

Comp:=true;

l[1]: =-p½;

l[2]:=sqrt (-D)/2;

end

end;

{**ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² D0, Dc, Ds Π΄Π»Ρ аналитичСского ΠΌΠ΅Ρ‚ΠΎΠ΄Π°***} procedure Def_An;

var Z1, Z2:Matrix;

Y1,Y2:Vector;

begin

Obr_Matr (A, Z1);

Mult_Matr_Vect (n, Z1, B0,D0);

Mult_Vect_Sc (n, D0,-1);

Mult_Matr_Matr (n, A, A, Z1);

E_Matr (n, Z2);

Mult_Matr_Sc (n, Z2,4*pi*pi/TT/TT);

Add_Matr (n, Z1, Z2,Z2);

Obr_Matr (Z2,Z1);

Mult_Matr_Vect (n, A, Bc, Y1);

Y2:=Bs;

Mult_Vect_Sc (n, Y2, w);

Add_Vect (n, Y1, Y2,Y1);

Mult_Matr_Vect (n, Z1, Y1,Dc);

Mult_Vect_Sc (n, Dc,-1);

Y1:=Bc;

Mult_Vect_Sc (n, Y1, w);

Mult_Matr_Vect (n, A, Bs, Y2);

Mult_Vect_Sc (n, Y2,-1);

Add_Vect (n, Y1, Y2,Y1);

Mult_Matr_Vect (n, Z1, Y1,Ds);

end;

{**ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ аналитичСского Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ D9t)=D0+Dc*cos (wt)+Ds*sin (wt)***} procedure Def_An_t (t:real);

varY:Vector;

begin

Y:=Dc;

Mult_Vect_Sc (n, Y, cos (w*t));

Add_Vect (n, D0, Y, D);

Y:=Ds;

Mult_Vect_Sc (n, Y, sin (w*t));

Add_Vect (n, D, Y, D);

end;

{******************** ЧислСнная схСма Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΈ }

Procedure Trapec (n:integer; A: Matrix; B: Vector; h: real; var X: Vector);

var Z1, Z2,Z3:Matrix;

Y1,Y2:Vector;

begin

E_Matr (n, Z1);

Mult_Matr_Sc (n, Z1,2);

Z2:=A;

Mult_Matr_Sc (n, Z2, h);

Add_Matr (n, Z1, Z2,Z3);

Mult_Matr_Vect (n, Z3, X, Y1);

Y2:=B;

Mult_Vect_Sc (n, Y2,2*h);

Add_Vect (n, Y1, Y2,Y1);

Mult_Matr_Sc (n, Z2,-1);

Add_Matr (n, Z1, Z2,Z3);

Obr_Matr (Z3,Z1);

Mult_Matr_Vect (n, Z1, Y1,X);

end;

{*******инициализация графичСского Ρ€Π΅ΠΆΠΈΠΌΠ°******** }

Procedure Init;

begin

grdr:=VGA;

grmd:=VGAHi; {инициализация графичСского Ρ€Π΅ΠΆΠΈΠΌΠ°} InitGraph (grdr, grmd,'d:bpbgi');

X0:=15;

Y01:=150;

Y02:=300;

Y03:=450;

line (X0,5,X0,GetMaxY-5);

line (X0−5,Y01,GetMaxX-5,Y01);

line (X0−5,Y02,GetMaxX-5,Y02);

line (X0−5,Y03,GetMaxX-5,Y03);

outtextxy (X0+5,5,'x1');

outtextxy (X0+5,Y01+10,'x2');

outtextxy (X0+5,Y02+10,'U4');

outtextxy (GetMaxX-10,Y01+5,'t');

outtextxy (GetMaxX-10,Y02+5,'t');

outtextxy (GetMaxX-10,Y03+5,'t');

end;

{*******ВычислСниС Π½ΠΎΡ€ΠΌΡ‹ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹************************** }

function Norm (n:byte; A: Matrix):real;

var

i, j: byte;

max, sum: real;

begin

max:=abs (a[1,1]);

for j:=1 to n do

begin

sum:=0;

for i:=1 to n do

sum:=sum+abs (a[i, j]);

if sum>max then max:=sum;

end;

Norm:=max;

end;

{****************ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° вычислСния ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ } Procedure M_Exp (n:byte; A: Matrix; t: real; var Exp_M:Matrix);

var

i, s: byte;

Z1,Z2,Z3:Matrix;

ss:real;

begin

ss:=Norm (n, A);

s:=round (ln (10*t*ss)/ln (2));

E_Matr (n, Z1);

Z2:=Z1;Z3:=Z2;

for i:=1 to s do

begin

Mult_Matr_Matr (n, A, Z2,Z3); Mult_Matr_Sc (n, Z3, t/exp (s*ln (2))/i); Add_Matr (n, Z1, Z3,Z1);

Z2:=Z3;

end;

for i:=1 to s do

begin

Mult_Matr_Matr (n, Z1, Z1,Z2);

Z1:=Z2;

end;

Exp_M:=Z1;

end;

{*ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ пСриодичСского Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ нСпосрСдствСнным ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ********} Procedure Def_nep (var X: Vector);

var Z1, Z2:Matrix;

Y:Vector;

begin

y[1]: =0;y[2]:=0;

for i:=1 to M do

begin

t:=i*h;

Def_B_t (t);

Trapec (n, A, B, h, X);

end;

Det_L (A, Lam, def);

M_Exp (n, A, TT, Z1);

Mult_Matr_Sc (n, Z1,-1);

E_Matr (n, Z2);

Add_Matr (n, Z1, Z2,Z2);

Obr_Matr (Z2,Z1);

Mult_Matr_Vect (n, Z1, Y, X);

end;

{***********ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° пСриодичСского Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ****************} Procedure Per_Solve (P:Vect);

begin

Def_A_B (P);

Def_An;

Def_nep (X);

Init;

kx:=(GetMaxX-X0−10)/TT;

ky1:=120/50;

ky2:=120/200;

ky3:=-100/2;

Def_An_t (0);

xx1:=X0;

y11:=Y01-round (ky1*x[1]);

y21:=Y02-round (ky2*x[2]);

y31:=Y01-round (ky1*d[1]);

y41:=Y02-round (ky2*d[2]);

y51:=Y03-round (ky3*U5(X));

y61:=Y03-round (ky3*U5(D));

for i:=1 to M do

begin

t:=i*h;

Def_An_t (t);

Def_B_t (t);

Trapec (n, A, B, h, X);

xx:=X0+round (kx*t);

y1:=Y01-round (ky1*x[1]);

y2:=Y02-round (ky2*x[2]);

y3:=Y01-round (ky1*d[1]);

y4:=Y02-round (ky2*d[2]);

y5:=Y03-round (ky3*U5(X));

y6:=Y03-round (ky3*U5(D));

setcolor (Red);

line (xx1,y11,xx, y1);

line (xx1,y21,xx, y2);

line (xx1,y51,xx, y5);

setcolor (Green);

line (xx1,y31,xx, y3);

line (xx1,y41,xx, y4);

line (xx1,y61,xx, y6); xx1:=xx;y11:=y1;y21:=y2;y31:=y3;y41:=y4;y51:=y5;y61:=y6;

end;

readln;

CloseGraph;

end;

{****************************ΠœΠ΅Ρ‚ΠΎΠ΄ установлСния****************}

Procedure Ust (P:Vect);

begin

Def_A_B (P);

x[1]: =0;x[2]:=0;

j:=0;

repeat

j:=j+1;

X1:=X;

for i:=1 to M do

begin

t:=i*h;

Def_B_t (t);

trapec (n, A, B, h, X);

end;

def:=true;

for i:=1 to n do

if abs (x[i]-x1[i])-delt*abs (x[i]+x1[i])/2>=0 then def:=false; until def;

Init;

kx:=(GetMaxX-X0−10)/TT/j;

ky1:=120/50;

ky2:=120/200;

ky3:=-100/2;

x[1]: =0;x[2]:=0;

init;

xx1:=X0;y11:=Y01;y21:=Y02;y31:=Y03;

for k:=0 to j-1 do

for i:=1 to M do

begin

t:=i*h+k*TT;

Def_B_t (t);

trapec (n, A, B, h, X);

xx:=X0+round (kx*t);

y1:=Y01-round (ky1*x[1]);

y2:=Y02-round (ky2*x[2]);

y3:=Y03-round (ky3*U5(X));

setcolor (Red);

line (xx1,y11,xx, y1);

line (xx1,y21,xx, y2);

line (xx1,y31,xx, y3);

xx1:=xx;y11:=y1;y21:=y2;y31:=y3;

end;

readln;

CloseGraph;

end;

{*ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ коэффициСнта ΠΏΡƒΠ»ΡŒΡΠ°Ρ†ΠΈΠΉ ΠΏΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ нСпосрСдствСнным ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ} function Kp_nep (P:Vect):real;

var Usr, Umax, Umin: real;

begin

Def_A_B (P);

Def_nep (X);

Usr:=0;Umin:=U5(X);Umax:=Umin;

for i:=1 to M do

begin

t:=i*h;

Def_B_t (t);

trapec (n, A, B, h, X);

Usr:=Usr+U5(X);

if U5(X)>Umax then Umax:=U5(X);

if U5(X)

Kp_nep:=(Umax-Umin)*M/Usr/2;

end;

{***************ΠœΠ΅Ρ‚ΠΎΠ΄ Π·ΠΎΠ»ΠΎΡ‚ΠΎΠ³ΠΎ сСчСния }

function Gold (P:Vect;i:byte):real;

const g=0.618 034;

var r, xl, xp: real;

X1,X2:Vect;

begin

xp:=pp[i]; xl:=pl[i];X1:=P;X2:=P;

repeat r:=g*(xp-xl);x1[i]: =xl+r;x2[i]:=xp-r;

if kp_nep (X1)

until abs (xp-xl)-delt*abs (xp+xl)/2<0;

Gold:=(xp+xl)/2;

end;

{*************** ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½ΠΎΠ³ΠΎ спуска } Procedure Koord (var Pmin: Vect; var Kpmin: real);

var i: byte;

P, PL: Vect;

def:boolean;

begin

for i:=1 to s do

p[i]: =(pl[i]+pp[i])/2;

repeat

PL:=P;

for i:=1 to s do

begin

p[i]: =Gold (P, i);

end;

def:=true;

for i:=1 to s do

if abs (p[i]-pl[i])-delt*abs (p[i]+pl[i])/2>=0 then def:=false; until def;

for i:=1 to s do

pmin[i]: =(p[i]+pl[i])/2;

Kpmin:=Kp_nep (Pmin);

end;

{************************ Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° *********** }

Begin

ClrScr;

Koord (P, kpmax);{оптимизация ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½ΠΎΠ³ΠΎ спуска} Def_A_B (P);{Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ† А, Π’ ΠΌΠ°Ρ‚СматичСской ΠΌΠΎΠ΄Π΅Π»ΠΈ} Det_L (A, Lam, def);{ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ собствСнных чисСл}

writeln ('ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ°:'); writeln ('p[1]=', p[1],'p[2]=', p[2],'kpmax=', kpmax); writeln ('БобствСнныС числа:'); {Π²Ρ‹Π²ΠΎΠ΄ собствСнных чисСл Π½Π° ΡΠΊΡ€Π°Π½} if not def then

begin

writeln ('l[1]=', lam[1]);writeln ('l[2]=', lam[2]); writeln ('ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½Ρ‹Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ:'); writeln ('tau1=', 1/abs (lam[1]));writeln ('tau2', 1/abs (lam[2])); end

else

begin

writeln ('l[1]=', lam[1],'+j', lam[2]);writeln ('l[1]=', lam[1],'-j', lam[2]); writeln ('ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½Π°Ρ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ: tau=', 1/abs (lam[1]));

writeln ('БобствСнная частота: fc=', lam[2]/2/pi);

end;

readln;

Ust (P);{ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ пСриодичСского Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ установлСния} Per_Solve (P);{ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ пСриодичСского Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ нСпосрСдствСнным ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ}

End.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ