FreeMat
Obsah 5. kapitoly
5. 2D Grafika
5.1. Grafické okno „Figure“
5.2. Spojitý 2D graf a jeho úpravy
5.3. Viac obrázkov v jednom grafickom okne
5.4. Vykresľovanie v logaritmických súradniciach
5.5. Uloženie, tlač a prenos grafov do iných aplikácií
5. 2D Grafika
5.1. Grafické okno „Figure“
Grafický výstup je pre technika nevyhnutnou potrebou. Už starí Číňania vraveli: obrázok povie za tisíc slov. FreeMat v tomto smere poskytuje značné možnosti dvojrozmernej aj trojrozmernej grafiky.
V tabuľke 15 sa nachádzajú príkazy pre prácu s 2D grafikou a ich význam.
Tabuľka 15 – Príkazy používané pri 2D grafike vo FreeMat-e
Na začiatok zadáme do okna Command Window príkaz „figure“. Otvorí sa nám prázdne okno 2D grafiky. Toto okno má klasické menu v hornej lište, ale má aj tlačidlovú lištu (obr.30). Prvotné okno, otvorené len príkazom „figure“ je prázdne. Na rozdiel od MATLAB-u je vo FreeMat-e nutné nastavovať parametre zobrazenia pomocou príkazov, čo vzhľadom na fakt že FreeMat je zadarmo nie je až taká vada.
Obr. 30 – Tlačidlová lišta okna Figure
5.2. Spojitý 2D graf a jeho úpravy
Ako príklad si uvedieme vykreslenie grafu amplitúdovo modulovaného signálu. Ako prvý krok si zadefinujeme premenné ako je na výpise z command window na obr. 31. Jednotlivé premenné značia:
An – amplitúda nosného signálu [V]
Fn – frekvencia nosného signálu [Hz]
Am – amplitúda modulačného signálu [V]
Fm – frekvencia modulačného signálu [Hz]
W – definovanie uhlovej rýchlosti pre nosný signál [rad/s]
w – definovanie uhlovej rýchlosti pre modulačný signál [rad/s]
t – vektor časovej osi
An – amplitúda nosného signálu [V]
Fn – frekvencia nosného signálu [Hz]
Am – amplitúda modulačného signálu [V]
Fm – frekvencia modulačného signálu [Hz]
W – definovanie uhlovej rýchlosti pre nosný signál [rad/s]
w – definovanie uhlovej rýchlosti pre modulačný signál [rad/s]
t – vektor časovej osi
Obr. 31 – Výpis definovania premenných ku príkladu
Keď už máme definované potrebné premenné, môžeme prejsť ku vzorcu pre náš signál. Jedno z úskalí s ktorými som sa stretol bolo, že FreeMat vypísal (podotýkam – oprávnene) chybu pri použití vzorca ako je na obr.32.
Obr. 32 – Chybný vzorec pre FreeMat pre AM signál
Vzorec ako taký chybný nie je, ale FreeMat si nevedel poradiť s násobením t*t – nakoľko neboli dodržané podmienky rozmerov pre násobenie matíc. Preto použijeme vzorec, v ktorom nebudeme násobiť t*t, ale jednotlivé frekvenčné zložky sčítavať (tým šikovnejším určite neušlo, že problém sa dá vyriešiť aj pomocou toho istého vzorca, ale s použitím násobenia rovnoľahlých prvkov matíc – viď kapitola 3). Rozloženie pôvodného vzorca na súčet jednotlivých harmonických zložiek nám však dáva lepšiu predstavu o signále už bez toho, aby sme vôbec signál videli:
\begin{equation} ModSig = An * \sin(W * t) + \frac{Am}{2} * \cos((W - \textit{w}) * t) - \frac{Am}{2} * \cos((W + \textit{w}) * t) \end{equation}
Zo vzorca vieme:
-
výsledný signál bude obsahovať 3 rôzne frekvencie: W, W+w a W-w...)
-
amplitúda modulačného signálu sa rozdelí na polovice (nakoľko máme dve postranné frekvencie a platí pravidlo o zachovaní energie)...)
-
postranné frekvencie sú od nosnej vzdialené ± w...)
-
výsledný signál sa teda bude skladať z VF nosnej a NF obálky
Zapíšeme teda funkciu a príkazy - obr. 33 a zobrazí sa okno ako je na obr. 34.
Obr. 33 – Vzorec ku príkladu a použitie príkazov „plot“ a „grid“
Vidíme ako vyzerá graf a ak ho chceme upraviť, použijeme špeciálne znaky, ktoré sú v tabuľke 16. Syntax pre modifikovyný príkaz je „plot(NP, ZP, ŠZ)“, kde NP – nezávisle premenná, ZP – závisle premenná, ŠZ – špeciálny znak – uvádzame ho do apostrofov, napr. „plot(t,y,’r*’)“. Často ešte používame definovanie hrúbky čiary pomocou parametra linewidth, a menoviek osí pomocou funkcií xlabel a ylabel, ako je na obr. 35. Ďalšie parametre používané pri formátovaní osí a grafov je možné nájsť v dokumentácii FreeMat-u.
Tabuľka 16 – Špeciálne znaky ku príkazu „plot“
Obr. 34 – Zobrazenie grafu
Obr. 35 – Použité príkazy a upravené zobrazenie grafu
Je možné spojiť dva grafy do jedného okna pomocou príkazu „hold on“ (viď tabuľka 15). Tak teda vykreslíme pomocou príkazov ako je na obr. 36 NF obálku nášho signálu a dostaneme zobrazenie ako na obr. 37. Na uvedenom obrázku nie je zapnuté zobrazenie označenia hodnôt (hviezdička, krížik a pod.), nakoľko pri veľkom počte hodnôt by to v našom prípade graf zneprehľadnilo.
Obr. 36 – Príkazy pre NF obálku ku príkladu
Obr. 37 – AM signál aj s NF obálkou
5.3. Viac obrázkov v jednom grafickom okne
Niekedy pre názornosť potrebujeme zobraziť viac grafov týkajúcich sa nami riešenej úlohy, ale grafy používajú rôzne premenné v rôznych mierkach, prípadne rôznych súradniciach (lineárne, logaritmické). Práve pre takýto prípad je možné použiť príkaz „subplot(r,s,p)“, kde r – počet riadkov, s – počet stĺpcov, p – pozícia. Pre názornosť je uvedené použitie príkazu „subplot“ na obr. 38 a obr. 39.
5.4. Vykresľovanie v logaritmických súradniciach
Základným nastavením stupníc osí v grafoch vo FreeMat-e je lineárne. Často v elektrotechnických aplikáciách však narazíme na zapojenia, ktoré nazývame filtre. Pre potreby zobrazenia v takomto prípade – teda frekvenčné charakteristiky, je vhodné použiť logaritmické súradnice. Vo FreeMat-e na to používame príkazy „semilogx“ (logaritmická mierka osi x), „semilogy“ (logaritmická mierka osi y) a „loglog“ (logaritmická mierka oboch osí) – obr. 40 a 41.
Obr. 38 – Výpis príkazov z Command Window
Obr. 39 – Výsledné zobrazenie pomocou použitia príkazu „subplot“
Obr. 40 – Výpis príkazov Command Window
Obr. 41 – Zobrazenie v logaritmických súradniciach
5.5. Uloženie, tlač a prenos grafov do iných aplikácií
Je dobré mať prehľad o tom ako naše grafy vyzerajú, ale bez možnosti uložiť grafický výstup by to nebolo v poriadku. FreeMat ponúka hneď niekoľko možností ako grafický výstup uložiť. Najjednoduchšie sa ku možným formátom na uloženie dostaneme pomocou položky File/Save alebo kliknutím na ikonu diskety. FreeMat je schopný uložiť grafický výstup v rôznych rastrových formátoch obrázkov, ale aj vo vektorovom *.svg formáte. A ako tomu býva pri open-source aplikáciách, grafický výstup je možné exportovať ako *.pdf súbor. Možnosť tlače bohužiaľ k dispozícii nie je.
- prečítané 4280x