Sunteți pe pagina 1din 11

MATERIALE PENTRU ELECTRONICA Laborator 4

Laborator 4
MATLAB. Program pentru calcule tehnice
Utilizarea facilitatilor grafice

Programul MATLAB are facilitati extinse pentru afisarea vectorilor si matricilor sub forma
de reprezentari grafice, precum si notarea si tiparirea acestor grafice. Aceasta lectie descrie unele
dintre cele mai importante functii grafice si ofera exemple ale unor aplicatii tipice.

4.1. Notiuni introductive. Reprezentarea punctelor, comenzile pe axe si notarea


graficelor

Graficele reprezentate cu programul MATLAB pot sa fie în doua dimensiuni


(bidimensionale) sau în trei dimensiuni (tridimensionale). Pentru a vedea toate functiile posibile în
cele doua cazuri se poate apela la help si anume pentru 2 dimensiuni se ve scrie in CW: help plot
iar pentru 3 dimensiuni se va scrie in CW: help plot3. Cele 2 functii sunt explicate în limba româna,
în anexa 1 a acestui manual.
Un punct P se specifica în coordonate carteziene în planul x-y prin 2 coordonate x si y.
Coordonata x masoara distanta orizontala a punctului fata de axa y iar coordonata y masoara
distanta verticala fata de axa x. Originea coordonatelor se afla în partea de sus în stânga ecranului.
Un punct poate sa fie exprimat si în coordonate polare în care caz se specifica modulul r si defazajul
 fata de axa orizontala.

Exemplul 4.1. Sa se reprezinte grafic în coordonate carteziene punctele P(3,4) si R(2.5, 4). Se
scrie în CW:
>>x1=3; y1=4;
>>plot(x1,y1, ‘*’)
>>x2=2.5; y2=4;
>>plot (x2,y2, ‘o’)
Rezultatul afisat se trece pe foaia cu date experimentale.

Marcarea punctului se poate face cu diferite simboluri ca ‘*’, ‘x’, ‘o’. Toate simbolurile
posibile a fi utilizate se pot observa daca se studiaza din help functia plot. La fiecare comanda plot
se reprezinta noul punct, daca se doreste ca sa ramâna reprezentarea anterioara când se face o noua
reprezentare se va utiliza comanda hold on. Se pot vedea mai multe grafice pe un singur sistem de
coordonate daca se utilizeaza comanda plot multipla de exemplu:
>>plot(x1,y1, ‘*’, x2,y2, ‘o’)
Programul MATLAB va colora diferit fiecare reprezentare grafica. Programul MATLAB
ajusteaza automat scalarea pe cele 2 axe de coordonate pentru a se potrivi cu coordonatele punctului
care se reprezinta grafic. Se poate de asemenea ca axele sa fie specificate manual prin anumite
setari cu comanda:
axis([ xmin xmax ymin ymax])
Evident ca trebuie ca valorile minime sa fie mai mici ca valorile maxime pentru a nu se afisa
semnalul de eroare. Se poate de asemenea sa se schimbe aspectul graficului în fereastra de
reprezentare grafica. În exemplul urmator se va utiliza comanda axis square pentru a se observa un
cerc, fara aceasta comanda cercul va arata ca o elipsa.

Exemplul 4.2. Se va introduce în CW urmatoarele:


>>x1=-1; y1=-1; x2=1;y2=-1,x3=-1;y3=1;x4=1;y4=1;
>>plot(x1,y1, ‘o’, x2,y2, ‘o’ x3,y3, ‘o’ x4,y4, ‘o’)
>>axis([-2 2 -2 2])
1
Utilizarea facilitatilor grafice

>>axis square % reprezentarea pe axe de dimensiuni egale


Rezultatul afisat se trece pe foaia cu date experimentale.

Înainte de comanda axis square, pe ecran era un dreptunghi. Daca se doreste sa se revina la
axele normale se va apela la comanda axis normal. Fiecare grafic poate fi etichetat pe cele 2 axe cu
anumite denumiri si i se poate da un titlu cu ajutorul functiilor xlabel, ylabel si title.

Exemplul 4.3. Se va introduce în CW urmatoarele


>> xlabel (‘axa x’)
>> ylabel (‘axa y’)
>>title (‘puncte reprezentate in plan’)
Rezultatul afisat se trece pe foaia cu date experimentale.

4.2. Functia plot mai în detaliu

Functia plot are diferite forme, depinzând de argumentele de intrare. Daca y este un vector,
plot(y) produce un grafic liniar de elemente din y în functie de indicii elementelor din y. Daca se
specifica 2 vectori ca argumente, plot(x,y) va rezulta un grafic al vectorului y în functie x.

Exemplu de calcul 4.4. Se introduce in CW urmatoarele


>>x = 0:pi/100:2*pi;
>>y = sin(x);
>>plot(x,y);
Rezultatul afisat se trece pe foaia cu date experimentale.

În exemplul de mai sus se genereaza un vector x cu valori între 0 si 2π, se calculeaza sinusul
acestor valori si apoi se reprezinta grafic rezultatul. În continuare sa vor nota cele doua axe si apoi
se adauga un titlu, respectivului grafic. Secventa de caractere “\pi” creeaza simbolul π.

Exemplu de calcul 4.5. Se introduce in CW urmatoarele


>>xlabel(‘x=0:2\pi’);
>>ylabel(‘Sinusul lui x’);
>>title(‘Graficul functiei sinus’,’FontSize’,12);
Rezultatul afisat se trece pe foaia cu date experimentale.

Se observa ce modificari apar pe grafic. Rezulta un grafic care reprezinta, punct cu punct,
sinusul functiei x în functie de variabila x.
Perechile multiple x-y de argumente creeaza grafice printr-o singura apelare a functiei
“plot”. În mod automat, programul MATLAB alege o culoare dintr-o lista predefinita de culori (dar
care poate fi setata de catre utilizator) pentru a permite diferentierea dintre fiecare set de date. În
urmatorul exemplu de program se deseneaza (punct cu punct) 3 functii ale lui x, fiecare curba cu o
alta culoare.

Exemplu de calcul 4.6. Se introduce in CW urmatoarele


>>y2=sin(x-.25);
>>y3=sin(x-.5);
>>plot(x,y,x,y2,x,y3)
Rezultatul afisat se trece pe foaia cu date experimentale.

Comanda legend ofera o modalitate usoara de a identifica graficele individuale.

2
MATERIALE PENTRU ELECTRONICA Laborator 4

Exemplu de calcul 4.7. Se introduce in CW urmatoarele


>>legend(‘sin(x)’,’sin(x-.25)’,’sin(x-.5)’);
Rezultatul afisat se trece pe foaia cu date experimentale.

Se observa graficul functiei sinus pornind din originea axelor, apoi aceiasi functie care
porneste din punctul (0;-0.25), respectiv din punctul (0;-0.5).
Se poate specifica culoarea, tipul liniei si tipul de marker (de exemplu semnul plus sau
cercuri) atunci când se deseneaza un grafic folosind comanda plot. Comanda plot are urmatoarea
sintaxa:
plot(x,y,’color_style_marker’);
Color_style_marker este un sir de caractere continând de la 1 la 4 caractere care reprezinta
o culoare, un tip de linie si un tip de marker:
• Sirurile pentru culoare sunt : c (albastru deschis-bleu ), m (visniu), y (galben), r (rosu), g
(verde), b (albastru), w (alb), k (negru)
• Sirurile pentru tipurile liniei sunt : ”-“ pentru linie continua, “--“ pentru linie întrerupta, “:”
pentru linie punctata, “-.” pentru linie-punct si “none” pentru nici o linie.
• Tipul markerilor poate fi : ”+”, “0”, “*” si “x”, iar tipul umplerii markerilor este “s” pentru
patrat, “d” pentru romb, “^” pentru triunghi sus, “v” pentru triunghi jos, “>” pentru triunghi dreapta,
“<” pentru triunghi stânga, “p” pentru pentagon, “h” pentru hexagon si “none” pentru nici un fel de
umplere a markerului.
Se poate edita culoarea, tipul liniei si markerii în mod interactiv. Se poate studia capitolul de
help “Editarea desenelor” pentru mai multe informatii. Daca se specifica tipul markerului, dar nu si
tipul liniei, programull MATLAB deseneaza doar markerul. De exemplu plot(x,y,’ks’) traseaza
patrate de culoare neagra pentru fiecare punct de date, dar nu conecteaza marker-ii cu o linie.
Linia de comanda plot(x,y,’r :+’) deseneaza, punct cu punct, o linie rosie punctata si
plaseaza markeri de tipul ‘+’ pentru fiecare punct de date. Se poate sa se foloseasca mai putine
puncte de date pentru a desena markerii decât pentru a desena liniile. Urmatorul exemplu deseneaza
datele de 2 ori, folosind un numar diferit de puncte pentru linia punctata si markeri.

Exemplu de calcul 4.8. Se introduce in CW urmatoarele


>>x1 = 0:pi/100:2*pi;
>>x2 = 0:pi/10:2*pi;
>>plot(x1,sin(x1),’r :’,x2,sin(x2),’r+’);
Rezultatul afisat se trece pe foaia cu date experimentale.

Date formate din numere imaginare sau numere complexe


Atunci când argumentele care se introduc in functia plot sunt complexe, partea imaginara
este ignorata, cu exceptia cazului când este dat un singur argument complex. În acest caz special,
comanda indica ca trebuie sa se deseneze partea imaginara în functie de cea reala. Astfel, plot(z),
unde z este un vector sau o matrice complexa, este echivalent cu plot(real(z),imag(z)).

Exemplu de calcul 4.9. .Se introduce in CW urmatoarele


>>t = 0:pi/10:2*pi;
>>plot(exp(i*t),’-o’);
>>axis equal;
Rezultatul afisat se trece pe foaia cu date experimentale.

Secventa de mai sus deseneaza un poligon cu 20 de laturi cu mici cercuri pe vârfuri.


Comanda axis equal face ca distantele incrementate pe axele x si y sa aiba aceeasi lungime, ceea ce
face ca acest desen sa para mai circular.

3
Utilizarea facilitatilor grafice
4.3. Alte functii si comenzi utilizate pentru reprezentari grafice
 Adaugarea de noi reprezentari pe un grafic deja existent
Comanda hold permite sa se adauge desene la un grafic deja existent. Atunci când se scrie
in CW: hold on programul MATLAB nu înlocuieste graficul deja existent la apelarea unei noi
comenzi de desenare; el adauga noile date la graficul curent , realizând o noua scalare a axelor daca
este necesar.

Exemplu de calcul 4.10. Se introduce in CW urmatoarele


>> [x,y,z] = peaks;
>>contour(x,y,z,20,’k’);
>>hold on;
>>pcolor(x,y,z);
>>shading interp;
>>hold off;
Rezultatul afisat se trece pe foaia cu date experimentale.

Liniile de program de mai sus creeaza mai întâi un contur al vârfurilor functiei, apoi
suprapune un desen pseudo-colorat al aceleiasi functii. Comanda hold on combina conturul cu
desenul pseudo-colorat într-o singura figura.

 Ferestrele pentru reprezentarile grafice


Functiile grafice deschid automat o noua fereastra de desene (figuri) daca nu sunt deja
ferestre pentru desene pe ecran. Daca exista o fereastra de desenat, MATLAB foloseste acea
fereastra pentru afisarea graficelor rezultate. Daca sunt mai multe ferestre pentru desenat deschise,
MATLAB o alege pe aceea care este desemnata “figura curenta” (ultima figura folosita sau
selectata cu mouse-ul).
Pentru ca o fereatra pentru figuri sa devina figura curenta, se poate actiona mouse-ul în timp
ce pointer-ul este în acea fereatra sau se poate tasta: figure(n), unde n este numarul din bara de titlu
a figurii. Rezultatele comenzilor grafice ulterioare sunt afisate în aceasta fereastra. Pentru a
deschide o noua fereastra de figuri si pentru a o face figura curenta, se introduce in CW coamnda
figure.

 Desene multiple pe aceiasi figura


Comanda subplot permite dispunerea mai multor desene în aceeasi fereastra sau tiparirea lor
pe aceeasi hârtie. Cu ajutorul comezii: subplot(m,n,p) se împarte fereastra de figuri într-o matrice
m*n de portiuni mici si se selecteaza portiunea p pentru desenul curent. În matrice, desenele sunt
numerotate de la primul la ultimul pe linii (mai întâi prima linie a ferestrei de figuri, apoi a 2-a linie
si asa mai departe).

Exemplu de calcul.4.11.
>>m=1:10;
>>x=m; y1=2*m+3, y2=4*m+3;
>> subplot(2,1,1)
>>plot (x,y1)
>> subplot(2,1,2)
>>plot (x,y2)
Rezultatul afisat se trece pe foaia cu date experimentale.

Practic se deseneaza 2 figuri încele 2 (sub)regiuni diferite ale ferestrei.

4
MATERIALE PENTRU ELECTRONICA Laborator 4

 Controlul axelor
Comanda axis are optiuni pentru setarea scalarii, pentru orientare si raportul si aspectul
desenelor. De asemenea, se pot fixa aceste optiuni în mod interactiv. În subcapitolul “Editarea
desenelor” se vor prezenta mai multe informatii.

 Fixarea limitelor pentru axe


Programul MATLAB gaseste valoarea maxima si valoarea minima a datelor care urmeaza sa
fie reprezentate în vederea alegerii limitelor axelor pentru a putea reprezenta intregul domeniu de
variatie. Comanda axis permite sa se specifice propriile limite, astfel comanda: axis([xmin xmax
ymin ymax]) specifica limitele pentru reprezentarile bidimensionale iar pentru graficele
tridimensionale se utilizeaza comanda: axis([xmin xmax ymin ymax zmin zmax]).
Folosiera comenzii: axis auto reactiveaza selectarea automata a limitelor realizata de catre
MATLAB.

 Stabilirea raportului si a aspectului axelor


Comanda axis permite de asemenea sa se specifice un numar de moduri predefinite pentru
cele doua axe. De exemplu comanda: axis square face ca axele de coordonate x si y sa aiba aceeasi
lungime. Comanda :axis equal face ca semnele de valori marcate individual pe axele x si y se fie de
aceeasi lungime. Aceasta înseamna ca instructiunea plot(exp(i*[0:pi/10:2*pi])) urmata fie de
instructiunea axis square, fie de instructiunea axis equal, transforma ovalul într-un cerc. Se pot
încerca aceste comenzi si se va observa ce rezulta. Comanda : axis auto normal face ca scalarea
axelor sa revina la modul automat.

 Stabilirea vizibiltatii axelor


Se poate folosi comanda axis pentru a face axele vizibile sau invizibile. Comanda axis on
face axele vizibile (care este modul automat).Comanda: axis off face axele invizibile.

 Fixarea valorilor pentru liniile de grila (grid)


Comanda : grid activeaza sau nu liniile de grila. Comanda :grid on activeaza liniile de grila,
iar comanda : grid off dezactiveaza aceste linii.

 Stabilirea denumirii desenului si a notatiilor pe axe


Comenzile xlabel, ylabel si zlabel adauga etichete axelor x,y si z. Comanda title adauga un
titlu în marginea de sus a figurii, iar text function insereaza un text oriunde pe figura. Un subset al
notatiei TeX produce literele grecesti. Se pot fixa aceste optiuni si interactiv; în subcapitolul
“Editarea desenelor” sunt mai multe informatii.

Exemplu de calcul.4.12. Se introduce in CW urmatoarele


>>t = -pi:pi/100:pi; %Aceste instructiuni deseneaza
>>y = sin(t); %functia sinus, scrie pe axa x “-p£t£p”,scrie pe
>>plot(t,y); % axa y “sin(t)”, deasupra graficului tipareste
>>axis([-pi pi –1 1]); % titlul “Graficul functiei sinus”, iar în interiorul
>>xlabel(‘-\pi \leg {\itt} \leg \pi’); %graficului tipareste
>>ylabel(‘sin(t)’); % “Notati simetria”.
>>title(‘Graficul functiei sinus’);
>>text(1,-1/3,’{\itNotati simetria’);
Rezultatul afisat se trece pe foaia cu date experimentale.

 Salvarea unei figuri


Pentru a salva o figura, se selecteaza Save din meniul File. Salvarea unei figuri într-un
format grafic precum TIFF, pentru folosirea ei cu alte aplicatii, se face selectând optiunea Export
5
Utilizarea facilitatilor grafice
din meniul File. Se poate de asemenea, salva o figura folosind linia de comanda si anume folosind
comanda Save as, incluzând orice optiune pentru salvarea figurii într-un format diferit.

4.4. Rprezentarea grafica a functiilor care depind de un parametru


Reprezentarea parametrica se refera la doua sau functii x si y care depind de un parametru t
adica x(t) si y(t) si care apoi sunt reprezentate ca o dependenta f(x,y)=0 din care a fost eliminat
parametrul t.. Acest mod de reprezentare este foarte util în programul MATLAB în reprezentarea
diferitelor figuri geometrice.

Exemplu de calcul.4.13. Se introduce in CW urmatoarele


>>t=linspace(0,2*pi,101)
>>x= cos(t); y=sin(t);
>> plot (x,y)
>> axis square
Rezultatul afisat se trece pe foaia cu date experimentale.
Se va obtine cercul trigonometric.

Exemplu de calcul.4.14. Se introduce in CW urmatoarele


>>t = 0:pi/100:2*pi;
>> x=3+3*cos(t); y=2+2sin(t);
>> plot(x,y)
Rezultatul afisat se trece pe foaia cu date experimentale.
Se va observa ca rezultatul este o elipsa.

Exemplu de calcul.4.15. Se introduce in CW urmatoarele


>>t=0:pi/100:2*pi;
>>x= cos(t); y=sin(4t);
>> plot (x,y)
>> axis square
Rezultatul afisat se trece pe foaia cu date experimentale.
Figura care rezulta se numeste figura Lissajoux si este utila la masurarea defazajului cu
ajutorul osciloscopului.

4.5. Reprezentari în 3 dimensiuni

Desenele în 3 dimensiuni se pot reprezenta în mod similar cu cele în doua dimensiuni.

Exemplul 4.16. Se introduce in CW urmatoarele:


>> for m=1:101
t = 2*pi*.01*(m-1);
x=cos(t); y=sin(t);z=t;
end
>> plot3(x,y,z)
Rezultatul afisat se trece pe foaia cu date experimentale.

Exercitiul de mai sus deseneaza o elicoida. Se recomanda sa se rezolve exercitiul de mai sus
fara a apela la bucla for.
Avantajul major al programului MATLAB se refera la reprezentarea în 3 dimensiuni a
suprafetelor. O functie de doua variabile z=f(x,y) reprezinta în 3 dimensiuni o suprafata. De
exemplu z=ax+by+c este un plan care intersecteaza axa z în punctul c. Programul MATLAB
utilizeaza 2 functii pentru reprezentarea suprafetelor si anume functia meshgrid si functia contour.
În cazul ambelor functii se creaza mai întâi o structura 2D de tip suprafata prin utilizarea unor valori
6
MATERIALE PENTRU ELECTRONICA Laborator 4

adecvate pentru x si y. Realizarea unei suprafete 2d se face cu functia meshgrid. Aceasta functie
are sintaxa :
[X Y]= meshgrid(x,y)
Se presupune ca x este un vector cu 4 elemente iar y este un vector cu 5 elemente iar prin
comanda de mai sus se creaza o matrice de valori pentru variabila x formata din 5 rânduri care se
obtin din repetarea de 5 ori a vectorului x si o matrice formata din 4 coloane care se obtin prin
repetarea de 4 ori a vectorului y.

Exemplul 4.17. Se introduce in CW urmatoarele:


>> [X, Y] =meshgrid(1:4,10:15)
Rezultatul afisat se trece pe foaia cu date experimentale.

Componenta pe axa z va fi exprimata în functie de comanda meshgrid. Graficul 3D se poate


realiza cu comanda mesh sau cu comanda contour. Comanda mesh face o reprezentare 3D a
suprafetei definita de meshgrid iar comanda contour genereaza o linie de contur care reprezinta
locul punctelor de pe suprafata care au aceiasi înaltime fata de planul x,y. O asemenea tehnica este
utilizata la reprezentarea topografiei unui teren.

Exemplul 4.18. Se introduce in CW urmatoarele:


>>x=[-8:.1:8];
>>y=[-8:.1:8];
>>[X,Y]=meshgrid(x,y);
>> R=sqrt(X.^2+Y. ^2)+eps;
>>Z=sin(R)./R;
>>mesh(X,Y,Z)
Rezultatul afisat se trece pe foaia cu date experimentale (Aproximativ).

Graficul care se observa este functia sinc definita astfel :

sin c 
sin  x2  y 2 
x2  y 2
si desenata pe domeniul de variatie a lui x si y -8 ...8. Variabila eps este cel mai mic numar utilizat
de program respectiv 2-52, care se introduce în anumite expresii pentru a se evita valoarea 0 si a
înlatura împartirea la 0. Daca se doreste un contur se va utiliza în locul ultimei linii comanda:
cotour(X,Y,Z,50) % Ultimul argument specifica numarul liniilor de contur care trebuie
desenate
Daca se doreste desenarea numai a unui contur situat la un anumit nivel de exemplu la
înaltimea Zo fata de planul x-y se poate utiliza o optiune a functiei contour de tipul :
contour (X,Y,Z,[Zo Zo])
Daca se doreste desenarea simultana a planurilor mesh si a conturului pentru a putea observa
mei bine o anumita suprafata se va utiliza comanda meshc. Aceasta comanda este similara cu mesh
cu deosebirea ca se traseaza si conturul în plus fata de planul desenat cu mesh.
Programul MATLAB defineste o suprafata cu ajutorul punctelor de coordonate z, care se
afla deasupra unei grile situate in planul xy, prin fosirea liniilor drepte pentru a uni punctele
adiacente. Functiile grafica mesh (plasa) si surf (suprafata) afiseaza suprafetele în trei dimensiuni;
mesh produce suprafete în forma de plasa care coloreaza numai liniile ce conecteaza punctele
definite; surf afiseaza si liniile specificate mai sus si fetele suprafetei în culori.

7
Utilizarea facilitatilor grafice

 Exemplu de colorare a graficelor de tip suprafata


Pentru a întelege cum se foloseste functia surf, se prezinta acum un alt exemplu. Un punct
de pe o suprafata este similar unui punct dintr-o plasa, numai ca fetele rectangulare ale suprafetei
sunt colorate. Culoarea fetelor este determinata de valorile matricei Z si de harta de culori-colormap
(o lista ordonata de culori). Urmatoarele instructiuni reprezinta grafic functia sinc ca un grafic de tip
suprafata, selecteaza o harta de culori si adauga o bara de culori pentru a arata efectul culorii asupra
suprafetei.

Exemplu de calcul 4.19. Se introduce in CW urmatoarele:


>> [X,Y] = meshgrid(-8:.5:8);
>>R = sqrt(X.^2 + Y.^2) + eps;
>>Z = sin(R)./R;
>>surf(X,Y,Z)
>>colormap hsv
>>colorbar
Rezultatul afisat se trece pe foaia cu date experimentale.

 Grafice de suprafete cu iluminari


Iluminarea este tehnica de a proiecta o lumina asupra unui obiect cu o sursa directionala de
lumina. În anumite cazuri aceasta tehnica poate sa faca diferente subtile pe forma suprafetei si o
face mai usor de vizualizat. Iluminarea poate fi de asemenea folosita pentru a adauga o nota de
realism graficelor în trei dimensiuni.Exemplul care urmeaza foloseste aceeasi suprafata ca si în
exemplul anterior dar în schimb acesta coloreaza imaginea în rosu si îndeparteaza din desen liniile
de plasa. Se adauga dupa aceea un obiect de tip lumina în stânga “camerei” (care semnifica locatia
în spatiu unde este plasat observatorul, adica de unde se vizualizeaza suprafata). Dupa ce se adauga
lumina si se seteaza metoda de iluminare la optiunea phong, se foloseste comanda view pentru a
schimba punctul de vizualizare catre suprafata la un alt punct în spatiu (un azimut de –15 si o
elevatie de 65 grade). În final, din bara de instrumente se poate apropia camera de suprafata astfel
încât suprafata sa fie vazuta mai aproape de observator (cu optiunea zoom in).

Exemplu de calcul 4.20.Se introduce in CW urmatoarele


>>surf(X,Y,Z,’FaceColor’,’red’,’EdgeColor’,’none’);
>>camlight left; lighting phong;
>>view(-15,65);
Rezultatul afisat se trece pe foaia cu date experimentale

Exemplu de calcul 4.21.Se introduce in CW urmatoarele


>>t = 0:pi/10:2*pi;
>> [X,Y,Z] = cylinder(4*cos(t));
>>subplot(2,2,1);mesh(X);
>>subplot(2,2,2);mesh(Y);
>>subplot(2,2,3);mesh(Z);
>>subplot(2,2,4);mesh(X,Y,Z);
Rezultatul afisat se trece pe foaia cu date experimentale

4.6. Reprezentari polare si animatie


Programul MATLAB poate sa deseneze si grafice polare, adica sub forma de modul si unghi
de faza daca comanda este de forma polar(x,y).

Exemplul 4.22. Se introduce in CW urmatoarele:


>>th=0:2*pi/100:2*pi;
>>ro=1+.2*cos(th);
8
MATERIALE PENTRU ELECTRONICA Laborator 4

>>polar(th,ro)
Rezultatul afisat se trece pe foaia cu date experimentale (Aproximativ).

Se poate observa ca se deseneaza o elipsa definita de ecuatia r=1+εcos(). Graficul care se


obtine nu seamana cu o elipsa pentru ca este reprezentat în coordonate polare. Pentru a observa
forma clasica a elipsei este necesar ca sa se traseze functia în coordonate carteziene. Se poate face
conversia coordonatelor polare în coordonate carteziene prin utilizarea functiei de conversie
pol2cart astfel :
>> [x,y] = pol2cart(th,ro) ;
>>plot(x,y) ;
>>axis equal

Exemplul 4.23. Se introduce in CW urmatoarele:


>>th=0:2*pi/100:2*pi;
>>ro=3*th;
>>polar(th,ro)
Rezultatul afisat se trece pe foaia cu date experimentale (Aproximativ).

Graficul reprezinta o spirala definita de ecuatia r=a.


O facilitate deosebita a programului MATLAB este legata de posibilitatea de a face animatia
anumitor reprezentari. Se poate de exemplu vizualiza oscilatia unei mase agatate de un arc. Pentru a
face animatie este necesar sa se urmareasca etapele de mai jos:
1. Se determina mai întâi ecuatia parametrica care descrie curba la un anumit moment de
timp.
2. Se introduce dependenta de timp în ecuatia curbei obtinute mai sus.
3. Se genereaza un grafic 3D a curbei respective la diferite momente de timp.
4. Se utilizeaza comanda movie pentru a se afisa consecutiv diferitele reprezentari la diferite
momente de timp.

Exemplul 4.24. Se introduce in CW urmatoarele:


>>th=0:pi/60:32*pi;
>>a=1;A=0.25;w=2*pi/15;
>>M=moviein(16);
>>for t=1:16;
x=a*cos(th);
y=a*sin(th);
z=(1+A*cos(w*(t-1)))*th;
plot3(x,y,z,’r’)
axis([-2 2 -2 2 0 40*pi])
M(:,t)=getframe;
end
>>movie(M,15)
Rezultatul afisat se trece pe foaia cu date experimentale (Aproximativ).
Instructiunea M=moviein(16) creaza o structura 2D care memoreaza în fiecare coloana
datele corespunzatoare unui cadru de reprezentare la un anumit moment de timp. Cadrele respective
sunt generate cu bucla for. Functia getframe returneaza o imagine cu pixeli a imaginii fiecarui
cadru care este reprezentat. Ultima comanda face animatia de 15 ori.

9
Utilizarea facilitatilor grafice
4.7. Editarea desenelor în vederea modificarii sau complectarii

Programul MATLAB formateaza un grafic pentru a oferi claritate, fixeaza scala axelor,
include marcarea pentru axe si foloseste diferite culori si tipuri de linie pentru a distinge punctele
dintr-un grafic. În cazul crearii graficelor pentru prezentari, este posibil sa se doreasca schimbarea
acestor optiuni de formatare sau adaugarea etichetelor, titlurilor, legendelor sau altor notatii pentru
explicarea datelor afisate.
MATLAB are 2 moduri de editare a desenelor care au fost create:
• folosind mouse-ul pentru a selecta si edita obiectele interactiv,
• folosind functiile MATLAB în comanda-linie sau într-un fisier M
 Editarea interactiva a desenelor
Daca se activeaza modul de editare al desenelor în fereastra de figuri a programului se pot
edita obiectele din grafic prin tehnica “puncteaza si apoi clickeaza”. În acest mod se selecteaza
obiectul sau obiectele care se doresc sa fie editate prin dublu-click pe ele. Aceasta operatie va
deschide Editorul de Proprietati care ofera accesul la proprietatile obiectului si care îi controleaza
aparitia si parametrii de afisare. Se pot obtine mai multe informatii legate de editarea interactiva din
manualele MATLAB sau din help.
 Utilizarea functiilor pentru editarea graficelor

Fig.4.1. Editiorul de desene Programul MATLAB

Daca se prefera sa se lucreze în modul de comanda-linie al programului sau daca se creaza


un fisier M, se pot folosi comenzile MATLAB pentru editarea graficului care a fost creat. Folosind
avantajul oferit de programul MATLAB pentru Manipularea Graficelor, se pot folosi comenzile set
si get pentru a schimba proprietatile obiectelor într-un grafic.
 Folosirea modului de editare Plot
Dupa crearea unui desen, se pot face schimbari si adauga notatii cu Editorul de Desene,
care este o interfata grafica usor de folosit. În Fig.4.1 se prezinta Editorul de Desene. Principalele
trasaturi ale modului de editare al desenelor sunt
• Se pot folosi butoanele de comanda Edit, Insert si Tools pentru a avea acces la
posibilitatile oferite de editorul de desene,
• Se poate face click pe butonul cu sageata din bara de sub meniul principal pentru a demara
editarea graficului,
10
MATERIALE PENTRU ELECTRONICA Laborator 4

• Urmatoarele 3 butoane (dupa butonul cu sageata) se folosesc pentru a adauga un text, o


sageata sau pentru schimbarea notatiilor de pe linii,
• Urmatoarele 3 butoane se folosesc pentru a mari, micsora sau roti desenul (zoom si rotate),
• Se va face dublu-click pe un obiect pentru a fi selectat,
• Se va face click-dreapta pe un obiect pentru a vizualiza meniul atasat lui.
 Folosirea editorului de proprietati

Fig.4.2. Editorul de propietati

În modul de editare plot, se poate folosi o interfata-utilizator grafica numita Editorul de


Proprietati pentru a edita proprietatile obiectelor din grafic. Editorul de proprietati ofera accesul la
multe proprietati ale obiectuluiu selectat ca de exemplu: figura, axe, linii, lumina, strat, imagine,
suprafete rectangulare si obiecte-text. De exemplu folosind editorul de proprietati se poate schimba
grosimea unei linii se pot adauga titluri si etichete axelor, se poate adauga lumina si se pot realiza
multe alte sarcini ale editarii plot.

 Apelarea editorului de proprtietati


Se poate apela editorul de proprietati prin dublu-click pe un obiect din grafic, cum ar fi o
linie sau prin click-dreapta pe un obiect si apoi selectarea optiunii Properties din meniul
obiectului.Se poate, de asemenea sa se ruleze editorul de proprietati selectând ori optiunea Figure
Properties, Axes Properties, ori optiunea Current Object Properties (proprietatile obiectului curent)
din meniul Edit al ferestrei figura. Aceste optiuni activeaza automat modul de editare plot, daca nu
este deja activ. În Fig.4.2 se prezinta editorul de propietati.
De îndata ce se porneste editorul de proprietati, acesta trebuie sa fie deschis tot timpul pe
parcursul unei sesiuni de editare. Aceasta fereastra ofera acces catre toate obiectele din grafic. Daca
se face click pe un alt obiect decât cel selectat initial, editorul de proprietati va permite vizualizarea
setului de proprietati asociate cu acel tip de obiect. Se poate folosi bara de navigare a editorului
pentru a selecta un alt obiect din grafic, cu scopul de a-l edita.

11

S-ar putea să vă placă și