Documente Academic
Documente Profesional
Documente Cultură
Teoria Sistemelor
OBIECTIVE
3.1. Introducere
Matlab-ul ofer o varietate relativ larg de funcii pentru realizarea reprezentrilor grafice. Cu ajutorul funciilor oferite de Matlab se pot reprezenta grafice bidimensionale (2D) i tridimensionale (3D), reprezentri grafice n coordonate liniare, n coordonate logaritmice sau n coordonate polare. De asemenea, graficele realizate n Matlab pot fi marcate (se poate preciza titlul graficului, se pot plasa etichete pe axe, se poate nota un text pe grafic la o poziie impus, sau la o poziie selectabil cu mouse-ul, sau se poate trasa o reea de linii ajuttoare pe grafic).
este echivalent
cu
dac y este un vector (linie sau coloan), funcia plot traseaz graficul y = y (i ) , unde i = 1 ,2,3,, n este numrul de ordine al elementului y;
33
ndrumar de laborator
Teoria Sistemelor
dac y este o matrice de dimensiune mn, funcia plot traseaz graficele y j = y j (i ) , unde i = 1,2,3,, n este numrul de ordine al elementului de pe
coloana j .
dac x este un vector, iar y este o matrice, atunci coloanele lui y sunt trasate n funcie de vectorul x; dac x i y sunt matrice de aceeai dimensiune, se reprezint coloanele lui y n funcie de coloanele lui x.
plot(x1,y1,x2,y2)- reprezint simultan mai multe grafice n acelai sistem de coordonate. Pentru reprezentrile grafice, se asociaz fiecrei caracteristici un ir de 1 pn la 3 caractere care definesc tipul liniei, tipul indicatorului i culoarea graficului. Aceste iruri de caractere trebuie cuprinse ntre apostroafe i menionate n combinaia culoare-indicator sau culoare-linie-tip. Opiunile pentru culori i tipuri de linii sau indicatoare sunt prezentate n tabelul 3.2.1:
Tab. 3.2.1 Tipurile de culori i linii
Culorile y galben m mov (magenta) c albastru - deschis (cyan) r rou g verde b albastru w alb k negru
Tipurile de linii, indicatoare . punct o cerc x semnul x + semnul plus - continuu * stea : puncte -. linie, punct -- linie ntrerupt
title(text).
Axele unui grafic de asemenea se pot eticheta cu ajutorul funciilor xlabel(text) i ylabel(text), iar un text se poate plasa pe grafic prin funcia:
text(x,y,string),
unde:
34
ndrumar de laborator
Teoria Sistemelor
x,y - reprezint coordonatele unde se va plasa textul precizat n string. Reeaua de linii grid, se poate face setnd pe on funcia grid: grid on. tergerea reelei de linii se face cu ajutorul comenzii grid off. n cazul mai multor caracteristici ntr-o singur figur, acestea se pot indexa cu funcia legend(string1, string2, string3,...). n acest mod, se ataeaz caracteristicilor desenate un text explicativ (string1, string2,....). Indexarea se plaseaz astfel nct s nu acopere reprezentarea grafic i poate fi mutat cu ajutorul mouse-ului astfel: se poziioneaz cursorul pe legend, iar cu ajutorul butonului stng apsat se trage n poziia dorit. Suprapunerea mai multor reprezentri grafice n aceeai fereastr se face setnd pe on funcia hold: hold on. Revenirea la starea iniial se face lansnd comanda hold off. Pentru a realiza reprezentri grafice n coordonate logaritmice sau semilogaritmice se utilizeaz funciile loglog, semilogx i semilogy. Aceste funcii se apeleaz cu sintaxele: loglog(x,y), semilogx(x,y), semilogy(x,y).
Funcia loglog scaleaz ambele axe utiliznd logaritmul n baza 10, n timp ce funciile semilogx i semilogy scaleaz logarirtmic numai axa x sau axa y, cealalt ax fiind scalat liniar. Modul de utilizare al acestor funcii este identic cu cel al funciei plot. n Matlab se mai pot realiza i o serie de reprezentri grafice speciale cum ar fi reprezentarea n coordonate polare, reprezentarea graficelor cu bare, reprezentarea graficelor sub form discret (util pentru reprezentarea semnalelor discrete) i reprezentarea graficelor n trepte (util pentru reprezentarea semnalelor cuantizate). Reprezentarea n coordonate polare se face cu funcia polar, care poate fi apelat cu sintaxa:
polar(theta,r,linie_tip).
Modul de folosire a opiunii linie_tip este identic cu cel al funciei plot. Reprezentarea graficelor cu bare se face cu funcia bar, care poate fi apelat cu una dintre sintaxele:
bar(y),
traseaz un grafic de bare cu elementele vectorului y, adic y = y i ;
bar(x,y),
traseaz un grafic de bare cu elementele vectorului y la locaiile specificate de vectorul x; valorile lui x trebuie s fie egal deprtate i cresctoare;
[xb,yb]=bar(y) i [xb,yb]=bar(x,y),
calculeaz vectorii xb i yb, astfel nct plot(xb,yb) s poat trasa graficul cu bare. Reprezentarea discret a datelor se face cu funcia stem, sub forma unor linii terminate cu cercule la extremitatea opus axei. Se apeleaz cu sintaxa:
stem(x,y,linie_tip).
Graficele n trepte sunt utilizate la reprezentarea diagramelor sistemelor numerice de eantionare i prelucrare a datelor.
35
ndrumar de laborator
Teoria Sistemelor
Reprezentarea grafic n trepte se face cu funcia stairs, care se apeleaz cu una dintre sintaxele:
stairs(y),
traseaz graficul n trepte al elementelor vectorului y;
stairs(x,y),
traseaz graficul n trepte al elementelor vectorului y la locaiile specificate de vectorul x; valorile lui x trebuie s fie egal deprtate i cresctoare;
[xb,yb]=stairs(y) i [xb,yb]=stairs(x,y),
calculeaz vectorii xb i yb, astfel nct plot(xb,yb) s poat trasa graficul n trepte.
contour(Z), contour(X,Y,Z).
Cu prima comand se obine reprezentarea cu linii de contur a matricei Z, ce conine rezultatul evalurii funciei de dou variabile reprezentate pe domeniul considerat. Implicit se traseaz 10 linii de contur, de culori diferite. n cazul celei de a doua sintaxe, se precizeaz i matricele X i Y care au definit nodurile n domeniul considerat. n acest caz, autoscalarea celor dou axe se va face n funcie de cei doi vectori.
Exemplul 3.1
y S se reprezinte grafic expresia z = x 3 + . 2 % se va realiza o reprezentare de tip contur %grafic 3D de tip mesh % se genereaz valori pentru vectorii x i y x=[-1:.1:1]; y=[-2:.1:2];
36
un
ndrumar de laborator
Teoria Sistemelor
% se introduce comanda meshgrid care folosete vectorii %x i y i evalueaz funcia ntre un sistem %rectangular prin construirea tablourilor X i Y, care %pot fi utilizate la evaluarea unei funcii de dou %variabile, precum funcia z. Liniile lui X sunt copii %ale vectorului x, iar coloanele lui Y sunt copii ale %vectorului y [X,Y]=meshgrid(x,y); % se calculeaz z ca o matrice prin efectuarea %operaiilor asupra lui X i Y. z=X.^3+(Y/2).^3; % se face o reprezentare a conturului i o reprezentare %3D de tip mesh, ca dou subgrafice folosind funcia %subplot (vezi help subplot) subplot(1,2,1) contour(z) % figura 3.3.1a subplot(1,2,2) mesh(z) % figura 3.3.1b
S se reprezinte grafic funciile f (t ) = sin( 250t ) cu linie punct de culoare verde i g (t ) = f (t ) + 0,2 cu indicator stea de culoare roie ( t = [0 : 0.02] cu pasul 0.001).
Exerciiul 3.4.2
coordonate
polare
funcia
f (t ) = sin(2t ) cos( 2t )
ndrumar de laborator
Teoria Sistemelor
n [0, 20]
S se reprezinte graficul n trepte al funciei y = sin( x ) ( x = [0 : 6] cu pasul 0.2). Exerciiul 3.4.6 S se reprezinte grafic urmtoarea funcie, unde x = [ 5 : 5] cu pasul 0.1:
f (x) = xx 1+ x 2
38