Označovanie grafov v systéme MATLAB

 

1. Základné popisky

V jednej z predošlých kapitol sme sa zoznámili s kreslením grafov pomocou príkazu "plot". Keď do príkazového okna napíšeme

x=linspace(-2*pi,2*pi,500);

y=sin(x);

plot(x,y)

axis tight

dostaneme graf sínusoidy, ktorý však okrem číslovania na osiach nezobrazuje žiadne ďalšie informácie.

MATLAB5

Zápisom

xlabel('čas t (s)')

ylabel('amplitúda (mm)')

title('Graf sínusoidy pre -2\pi \leq t \leq 2\pi')

pridáme do grafu názov grafu a označenie osí:

 

Všetky názvy tvoria textové reťazce, a tak musia byť ohraničené apostrofmi ('). Pri editácii MATLAB poskytuje kontrolu párovania apostrofov automatickou zmenou farby. Pri napísaní prvého apostrofu, zmení farbu písma na hnedú a po napísaní druhého apostrofu sa farba zmení na fialovú. Ak aj napriek tomu zabudneme vložiť druhý apostrof, a odošleme príkaz

       xlabel('čas t (s))

na spracovanie, Matlab napíše hlásenie o chybe:

??? xlabel('čas t (s))

Error: A MATLAB string constant is not terminated properly

Špeciálne znaky, ako napríklad rozsah pre čas t v názve grafu "-2p ≤ t ≤ 2p", Matlab vkladá pomocou kódovania LaTeX, čím zabezpečuje korektné zobrazovanie aj takých znakov, ktoré sa v štandardnom písme nenachádzajú.

 

 

2. Zobrazenie viacerých grafov naraz

Matlab umožňuje pomerne jednoduchým spôsobom zobrazovať viacero grafov v jednom obrázku. V prípade, že chceme použiť už hotový graf, stačí kliknúť ľavým tlačidlom myši na jeho obrázok a do príkazového riadku napísať

hold on

Príkaz  "hold on" pôvodný graf podrží, a do obrázka môžeme dokresliť ďalší graf.

y1=sin(2*x);

plot(x,y1,'r')

Farba písma v riadku, do ktorého sme pripísali 'r', sa zmení na červenú. Opakovaným stláčaním  šípky ↑ sa postupne dostaneme až ku  pôvodnému názvu grafu,

title('Graf sínusoidy pre -2\pi \leq t \leq 2\pi')

ľavým tlačidlom myši vstúpime do textu a v názve urobíme prípadné zmeny.

title('Graf sínusoíd pre -2\pi \leq t \leq 2\pi')

 

Viacero grafov v jednom obrázku vieme zobraziť aj priamo, zmenou argumentov v príkaze "plot". Napríklad zadaním

plot(x,y,'b',x,y1,'r')

axis tight

zobrazíme naraz grafy dvoch sínusoíd.

Nasledujúcim príkazom môžeme ešte ku grafom pridať do pravého horného rohu legendu.

legend( 'sin(x)', 'sin(2x)' )

Pravý horný roh je predvoleným miestom pre legendu, avšak užívateľ ju môže umiestniť v podstate kamkoľvek na obrázku. Stačí kliknúť na legendu ľavým tlačidlom myši a legendu jednoducho posunúť do žiadanej polohy. Inou možnosťou je, do príkazu za povinné argumenty napísať jednu z číslic,  -1, 0, 1, 2, 3, 4 alebo 5, ako napríklad

legend( 'sin(x)', 'sin(2x)' , 2)

a legenda sa potom zobrazí na predefinovaných miestach:

-        na pravej strane mimo plochy grafu (-1, 5),

-        na ploche grafu tak, aby zakrývala čo možno najmenšiu časť grafu (0),

-        v pravom hornom rohu (1),

-        v ľavom hornom rohu (2) ,

-        v ľavom dolnom rohu (3)

-        alebo v pravom dolnom rohu (4).

 

Grafy ukladáme buď priamo v Matlabe alebo ich môžeme exportovať do niektorého z bežne používaných formátov prostredníctvom File -> Save as. Graf vytvorený v Matlabe sa tak dá použiť prakticky v akomkoľvek inom dokumente.

 

3. Podgrafy

Niekedy potrebujeme zobraziť viacero grafov naraz nie však v jednom grafickom okne so spoločnými osami, ale vedľa seba, každý v samostatnom grafickom priestore. Vtedy je vhodné uplatniť príkaz "subplot". Príkaz "subplot" rozdelí grafické okno tabuľkovým spôsobom na príslušný počet podokien, napríklad 2 x 2 (dva riadky a dva stĺpce), 3 x 2  (tri riadky a dva stĺpce) a pod.  Zápis

subplot(2,2,1)

vyjadruje, že okno rozdeľujeme na 4 podokná (2 riadky x 2 stĺpce) a aktívne zostáva prvé okno (vľavo hore). Ďalej nasleduje príkaz "plot", ktorým do aktívneho okna zobrazíme žiadaný graf.