A MATLAB programozási nyelv

Grafikonok, függvények kirajzolása



Grafikonok, függvények kirajzolása

Mérnöki szoftver lévén elengedhetetlen, hogy számításaink eredményét ábrákon, diagramokon és grafikonokon jelenítsük. Nagy mennyiségű információ így képi formában sokkal könnyebben befogadható mindenki számára. Mivel a MATLAB egy alavetően numerikus számításokra kitalált szoftver ezért az alap függvény rajzolás is csak diszkrét értékek mellett numerikus valósítható meg. MATLAB-ban vektorok és mátrixok segítségével kell megadni mind az értelmezési tartomány diszkrét elemeit, mind az értékeket. A továbbiakban láthatunk erre pár lehetőséget.

Vonal rajzolás (line plot)

Az alap rajzoló függvény a plot. Többféle szignatúrája létezik attól függően, hogy mennyi mindent szeretnénk beállítani a grafikonon. Az alap szignatúra a plot(X,Y), ahol X az X tengely elemeit tartalmazza, Y pedig az X-hez tartozó függvényértékeket. Amennyiben csak plot(Y) formában hívjuk meg a függvényt akkor az x tengely az indexeket fogja tartalmazni. Ha semmi mást nem állítunk be, akkor az adatokat egy összefüggő kék vonal segítségével fogja megjeleníteni a MATLAB.

x = 0:0.2:2*pi; plot(x,sin(x))
sin(x) alap beállításokkal

További paraméterként vonal specifikációkat adhatunk meg, mellyel állítható a vonal színe, vastagsága, mintája, valamint az egyes adatpontok színe, alakja és mérete. Egy grafikonon több adatsort is megjeleníthetünk, ekkor plot(X1,Y1,X2,Y2,...) alakban kell megadnunk a függvényt.

x = 0:0.2:2*pi; plot(x,sin(x),':or') %piros szaggatott vonal, az adatokat körök jelölik
sin(x) piros szaggatott vonallal
Vonal specifikáció

A fenti példában is látható a vonal tulajdonságait egy string segítségével adhatjuk meg. Az alábbi táblázatok mutatják, hogy milyen lehetőségeink vannak. Az első 1-2 karakter a vonal tulajdonságait adja meg, a következő karakterek az adatpontok tulajdonságait, az utolsó pedig a színt. A színnek természetesen bármilyen szín megadható, ha az RGB kódját egy 3 elemű vektorként adjuk meg.

szimbólumvonal stílus
'-'sima vonal
'--'szaggatott vonal
':'pontozott vonal
'-.'pontozott szaggatott vonal
szimbólumpont stílus
'+'kereszt
'o'kör
'*'csillag
'.'pont
'x'X
's'négyzet
'd'rombusz
'^', 'v', '<', '>'háromszögek
'p', 'h'öt- és hatágú csillag
szimbólumszín
'r'piros
'g'zöld
'b'kék
'c'cián
'm'magenta
'y'sárga
'k'fekete
'w',fehér

Ezen kívül még (string, adat) párokban további tulajdonságokat is megadhatunk, melyből pár példa:

x = 0:0.2:2*pi; plot(x,sin(x),'dk','MarkerFaceColor','y')
sin(x) piros szaggatott vonallal
További vonal rajzoló függvények

Lássunk más rajzoló függvényeket is, melyek paraméterezése lényegében olyan mint a plot függvényé. A szignatúráik hasonlóak, a vonal specifikációkat ugyanúgy kell megadni.

A általános lineáris skála helyett használhatunk logaritmikus skálát is, erre 3 függvény áll rendelkezésre attól függően, hogy mely tengelyeket szeretnénk logaritmikusan skálázni. A három függvény a semilogx, a semilogy és a loglog. Ha a grafikon mindkét oldalán szeretnénk megjeleníteni az y tengelyt használjuk a plotyy függvényt. Az fplot és ezplot függvények segítségével kirajzolhatunk konkrét függvényeket is a vektoros megadás nélkül, csak az értelmezési tartomány kell megadni, amin ábrázolni szeretnénk. A függvényeket a már ismert @ jellel, valamint inline is megadhatjuk.

Ha hibaértékeket is szeretnénk megjeleníteni, használjuk az errorbar függvényt, melyhez az X, Y vektor mellett egy E hibavektort is meg kell adnunk. A függvény aztán a megszokott módon +/- e értékben egy vonalat húz az érték köré, jelezve az adott érték hibáját.

Ha három dimenzióban szeretnénk rajzolni akkor használjuk a plot3 és ezplot3 függvényeket, melyekhez az X, Y vektorok mellett a Z vektort is meg kell adni.

A polar és compass függvényekkel lehetőség van adatok polár koordinátákban való ábrázolására, utóbbi vektorok ábrázolására alkalmas.

Diagrammok

A MATLAB-ban lehetőség van több tablázat kezelő programból már jól ismert diagramot is kirajzolni, melyekkel könnyebb statisztikai adatokkal dolgozni. Pár ezek közül csak felsorolás szintjén:

3D adatok

A fentebb már ismertetett plot3 kívül, komolyabb lehetőségek is vannak három dimenziós adatok ábrázolására:

Formázás

Attól, hogy vannak adataink és most már ábrázolni is tudjuk őket, nem biztos, hogy mindenki számára világos lesz mit is csináltunk, ezért érdemes a diagramokat hasznos információkkal ellátni, hogy mások számára is egyből világosabb legyen, hogy mit is jelentenek az ábrák. A MATLAB erre is kínál függvényeket, mellyel formázhatjuk az elkészült diagramokat.

Mentés

A MATLAB az egyes grafikonok elmentésére is többféle lehetőséget kínál. Lehet saját MATLAB-os fig formátumban menteni, de lehet más programok által is feldolgozható képként is. Mentéshez a legegyszerűbb a saveas függvényt használni.

x = 0:0.2:2*pi; plot(x,sin(x),'dk','MarkerFaceColor','y'); saveas(gcf(),['sin.png'],'png');

További segítség: az alábbi linken