Sunteți pe pagina 1din 6

ndrumar de laborator

Teoria Sistemelor

REPREZENTRI GRAFICE N MATLAB

OBIECTIVE

Reprezentri grafice 2D. Reprezentri grafice 3D.

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).

3.2. Reprezentri grafice bidimensionale (2D)


Reprezentarea graficelor bidimensionale se poate face n coordonate liniare, logaritmice, semilogaritmice sau polare. Studiul reprezentrilor grafice este aplicabil n cazul diferitelor tipuri de funcii de sisteme ce reprezint esena i finalitatea studiului propus de acest laborator. n plus, ca i remarc, toate sistemele cunoscute i studiate nu pot fi sustrase acestei reguli. Aadar, toate aceste reprezentri grafice vor fi detaliate n continuare. Pentru reprezentarea grafic n coordonate liniare se utilizeaz funcia plot, care poate fi apelat cu una dintre sintaxele: plot(y), plot(x,y,linie_tip), plot(x,y), plot(x1,y1,x2,y2,x3,y3,),

unde: plot(y)- reprezint grafic argumentul y n funcie de indici, cu urmtoarele precizri:

dac argumentul y este complex, plot(y) plot(real(y),imag(y));

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 .

plot(x,y)- reprezint grafic vectorul y funcie de vectorul x, cu urmtoarele precizri:

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

Titlul unui grafic se poate preciza cu funcia:

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.

3.3. Reprezentri grafice tridimensionale (3D)


Reprezentrile grafice 3D se pot realiza n trei moduri: reprezentarea de tip contur, reprezentarea de tip mesh i reprezentarea dreptelor i punctelor n spaiul tridimensional. Reprezentarea dreptelor se realizeaz folosind funcia plot3 care este asemntoare funciei plot. Pentru ca o funcie de dou variabile s poat fi reprezentat, ( z = f ( x, y ) ), este necesar generarea unei reele de noduri n planul xOy. n nodurile reelei se calculeaz valoarea funciei de reprezentat. n Matlab generarea unei astfel de reele se face cu funcia [X,Y]=meshgrid(x,y). Aceast funcie transform domeniul plan definit de cei doi vectori x i y monotoni cresctori i cu pas constant n matricele X i Y. Dac vectorul x este de lungime n, iar vectorul y de lungime m, atunci matricele X i Y vor avea dimensiunea nxm. Funciile de dou variabile se pot reprezenta cu ajutorul liniilor de contur, folosind funciile contour n cazul bidimensional, respectiv contour3 n cazul tridimensional. Cele dou funcii au sintaxe de apelare asemntoare:

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

Fig. 3.3.1 a,b

3.4. Exerciii propuse


Exerciiul 3.4.1

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

S se reprezinte n coordonate semilogaritmice (axa y), funcia f ( x ) = 10 x ( x = [0 : 10] cu pasul 0.1).


Exerciiul 3.4.3

S se reprezinte n ( t = [0 : 2 * pi ] cu pasul 0.01).


Exerciiul 3.4.4

coordonate

polare

funcia

f (t ) = sin(2t ) cos( 2t )

S se reprezinte funcia discret sinus:


37

ndrumar de laborator

Teoria Sistemelor

2 f [n ] = sin n , 10 Exerciiul 3.4.5

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

Exerciiul 3.4.7 S se reprezinte un grafic 3D unde:

x = cos(2t ) ; y = sin(2t ) i t = [ 2 : 0.01 : 2] .


Exerciiul 3.4.8 S se reprezinte grafic, de tip mesh, funcia: z = x 2 y 2 ( x = y = [ 2 : 0.01 : 2] ).

38