Sunteți pe pagina 1din 14

Limbaje de programare

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.

CREAREA UNUI GRAFIC

n crearea graficelor, MATLAB-ul utilizeaz tot reprezentarea


vectorial a seturilor de date x, y i z cu ajutorul crora se
realizeaz graficul.
Dup definirea celor doi sau trei vectori, pentru reprezentarea
grafic se folosesc diferite funcii, n funcie de tipul de grafic
dorit.
Vectorii se pot defini i n interiorul funciilor de trasare a
graficelor.

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

Trasarea de mai multe grafice independente n aceeai fereastr


Comanda subplot permite afiarea in aceeai fereastra a mai multor grafice sau
tiprirea acestora pe aceeai coala de hrtie.
Tastnd
subplot(m,n,p)
fereastra figure este partiionata intr-o matrice m x n de grafice mai mici si
selecteaz graficul cu index p ca grafic curent. Graficele sunt numerotate nti
pe primul rnd de sus al ferestrei figura, apoi pe cel de-al doilea rnd etc.

ALTE FUNCII
Plot3
Loglog
Semilogx
Semilogy
Plotyy

Grafica 3D cu scara liniara


Grafica 2D cu scara logaritmica pe ambele axe X si Y
Grafica 2D cu scara logaritmica pe axa X si scara lin. pe axa Y
Grafica 2D cu scara logaritmica pe axa Y si scara lin. pe axa X
Grafica cu etichetare pe partea dreapta si stnga

Stem
Stem3
Bar
Barh
Bar3
Bar3h
Stairs
Area
Fill
Fill3

Grafica 2D pentru seturi de date discrete


Grafica 3D pentru seturi de date discrete
Grafica 2D, reprezentare cu bare
Grafica 2D, reprezentare cu bare orizontale
Grafica 3D, reprezentare cu bare
Grafica 3D, reprezentare cu bare orizontale
Grafica 2D, reprezentare in scara
Grafica 2D, reprezentare cu arii
Grafica 2D, de reprezentare a poligoanelor
Grafica 3D, de reprezentare a poligoanelor

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.

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