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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° языкС высокого уровня

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

Команда 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.

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