Documente Academic
Documente Profesional
Documente Cultură
inginereti
Tema 10
MATLAB.
Elemente de grafica 2D si 3D
FERESTRE figure
Reprezentrile grafice se fac ntotdeauna ntr-o fereastr separat fa
de cele deschise n cadrul programului MATLAB.
Funciile grafice deschid in mod automat o noua fereastra figure daca
nu exista nici o fereastra deja afiata pe ecran.
Daca o fereastra figure exista, MATLAB folosete acea fereastra
pentru toate reprezentrile grafice, fiecare reprezentare nlocuind-o pe
precedenta.
Daca exista mai multe ferestre deschise, MATLAB se fixeaz la una
dintre ele ce reprezint figura curent (ultima figur folosit sau pe
care s-a executat un click).
Pentru a face ca o figur existent s devin figura curenta, se d click
pe acea fereastr sau se tasteaz figure(n), unde n este numrul din
bara de titlu a figurii. Rezultatele comenzilor grafice ulterioare sunt
afiate in aceasta fereastra.
Pentru a deschide o noua fereastra grafic i pentru a o face figura
curenta, se tasteaz figure.
FUNCIA plot
Functia plot are diferite forme, in funcie de argumentele de intrare.
Daca y este un vector, plot(y) produce un grafic, liniar pe poriuni, al
elementelor lui y, in funcie de index-ul elementelor lui y.
Daca sunt specificai doi vectori ca argumente, plot(x ,y) creeaz un grafic al
lui y funcie de x.
Exemple
plot([1,4,2,6,5,8])
plot([0:pi/100:2*pi],sin([0:pi/100:2*pi]))
x = 0:0.1:5;
y = x.^2-2*x+3;
plot(x, y)
FUNCIA plot
Forma cea mai general a funciei este
plot(x ,y,speclinie)
unde speclinie specific diferite amnunte legate (n aceast ordine) de
tipul liniei ce unete punctele definite de x i y, markerul cu care se
reprezint punctele definite de x i y i culoarea liniei.
Valorile argumentelor ce pot fi utilizate i semnificaia lor sunt urmtoarele:
FUNCIA plot
Exemple
plot(x,y,--,o,m)
plot(x,y, o,m)
plot(x,y,--,m)
FUNCIA plot
Funcia plot se completeaz cu comenzile pentru titlu, cu etichete pentru axa
Ox i Oy, pentru legend, cu indicarea prin text pe grafic al punctului de
minim i de maxim sau a alte puncte de interes:
>> title ('nume')
>> xlabel('nume axa x')
>> ylabel('nume axa y')
>> text(x,y,'text')
La comanda text valorile numerice indic poziia punctului (x,y) din fereastra
graficului de unde va ncepe scrierea textului.
>>legend(nume1,nume2, ,pozitie)
Valorile variabilei poziie pot fi:
0 = poziionare automat
1 = colul din dreapta sus
2 = colul din stnga sus
3 = colul din stnga jos
4 = colul din dreapta jos
-1 = la dreapta graficului
FUNCIA plot
Exemplu
>> x = 0:0.1:5;
>> y = x.^2-2*x+3;
>> plot(x, y), title('Functie de gradul II'), xlabel('x'), ylabel('f(x)'),...
legend('functia',4)
Reprezentarea mrimilor complexe
Cnd argumentele funciei plot sunt complexe, partea imaginara este
ignorata cu excepia situaiei cnd funciei i se transmite un singur argument
complex.
In acest caz special, comanda este o prescurtare pentru trasarea unui grafic
de tip parte reala funcie de partea imaginara. Deci, funcia plot(Z) unde Z
este un vector sau matrice complexa, este echivalenta cu
plot(real(Z),imag(Z)).
t = 0:pi/20:2*pi;
plot(exp(i*t),'-o')
FUNCIA plot
Trasarea de mai multe curbe pe acelai grafic
Se poate face n dou moduri:
1. Indicnd toate curbele n aceeai funcie plot
>>plot(x1,y1,x2,y2,)
2. Cu ajutorul comenzilor hold on si hold off.
La ntlnirea comenzii hold on, MATLAB nu inlocuieste graficul existent la
apelul unei noi comenzi plot ci adaug noile curbe la graficul curent, rescalnd
axele dac este necesar. Comanda hold off readuce starea ferestrei la normal.
>>x=1:0.1:10;
>>y1=x.*2;
>>y2=10*x;
>>plot(x,y1);
>>hold on;
>>plot(x,y2);
>>hold off
FUNCIA plot
ALTE FUNCII
Plot3
Loglog
Semilogx
Semilogy
Plotyy
Stem
Stem3
Bar
Barh
Bar3
Bar3h
Stairs
Area
Fill
Fill3
Grafice 3D
MATLAB definete o suprafaa prin coordonata z a punctelor
situate pe o reea in planul x-y, folosind linii drepte pentru
conectarea punctelor alturate. Funciile grafice mesh si surf
afiseaza suprafee in trei dimensiuni. Funcia mesh genereaz
suprafee de tip plasa colornd doar liniile ce conecteaz
punctele definite. Funcia surf afiseaza att liniile de legtura
cat si fetele suprafeei colorate.
Funcia meshgrid transforma domeniul specificat printr-un
singur vector sau doi vectori x si y in matrice X si Y pentru
evaluarea funciilor de doua variabile. Rndurile lui X sunt
copii ale vectorului x si coloanele lui Y sunt copii ale
vectorului y. Sintaxa:
[x,y]=meshgrid([-xmin:stepx:xmax],[ymin:stepy:ymax])
Grafice 3D
Pentru desenarea de figuri geometrice n spaiu avem trei
comenzi:
- cylinder(y,n) deseneaz un corp de rotaie n jurul axei z
generat de o curb creat de vectorul y i avnd n puncte pe
circumferin. Daca y este constant atunci deseneaz o prism
regulat cu baza avnd n laturi. Cu ajutorul ei se pot desena i
piramide sau conuri, dup cum numrul n este mai mic sau
mai mare. n acest caz z trebuie s fie o dreapt.
- sphere(n) o sfer cu n puncte pe circumferin.
- ellipsoid(xc,yc,zc,rx,ry,rz) genereaz un elipsoid de centru
(xc,yc,zc) i semiaxe rx,ry,rz.