Lucrarea 4 — Reprezentari grafice
Lucrarea 4
Reprezentari grafice
Obiectivul lucrarii
Obiectivul principal al acestei lucrarii este de a oferi o prezentare a facilitatilor din
cadrul Matlab-ului pentru reprezentarea grafica bidimensionala si tridimensionalai. Astfel,
in continuare vom incerca s& abordam urmatoarele aspecte:
Reprezentari grafice 2D
Reprezentarea grafica in coordonate logaritmice
Functii specializate 2D
Reprezentari grafice 3D
Export / import de grafice
BRONS
Aspecte teoretice si mersul lucrai
Reprezentarea graficd este o modalitate de prezentare a datelor stiintifice sub forma
unei imagini sau a unui grafic.
Matlab dispune de 0 varietate de functii si tehnici, ce permit reprezentarea grafica
bidimensionala (2D) respectiv tridimensionala (3D) a datelor. Graficele in Matlab sunt
afigate intr-o fereastra Figure.
Functia de baza folosita in Matlab pentru reprezentari grafice este plot. Flexibilitatea
si usurinta utilizarii instrumentelor de reprezentare grafica este unul din punctele forte ale
Matlab-ului. Prin urmare, acesta are foarte multe comenzi care pot fifolosite pentru a crea
reprezentari 2D de baz, reprezentari suprapuse, reprezentari specializate, reprezentaii
3D si reprezentari de suprafete.
4. Reprezentiri grafice 2D
Acest tip de reprezentéri sunt desenate cu ajutorul comenzii_ plot. Cea mai simpla
forma a acestei comenzi este de forma:
plot (argument) sau plot (x,y)
38Lucrarea 4 — Reprezentari grafice
unde argumentul poate fi un numar complex, un vector sau o matrice.
In urma executiei acestei comenzi, graficele vor avea implicit culoarea albastra, insa
utiizatorul are posibilitatea de a formata graficul dupa preferinte.
Prin urmare, comanda ce permite formatarea graficelor este de forma [1]:
plot (x,y, 'parametrii_de formatare')
unde x reprezinta valorile de pe abscisa, y reprezinté valorile de pe ordonata, iar
parametrii_de formatare reprezinté un argument optional care poate fi utilizat
pentru a specifica culoarea, tipul de linie si tipul de marcaj [1].
Mai jos sunt prezentate optiunile ce pot fi utilizate pentru configurarea de culoare, de
linie si de marcaj.
Tabelul 4.1. Optiunile de formatare a functiei plot
Culoare Tip linie Tip marcaj
Simbol_ | Descrire | Simbol | Descriere | Simbol | Descriere
yellow _ : .
y igaber) continua semnul plus
rm magenta = intrerupta ° cere
(purpuriu)
< cyan : 5 . 5
> (oo : punctata steluta
r red (rosu) =. linie-punct : punet
° green 7 semnul x
° (verde) sau cruce
blue
e {albastru) . patrat
w white (alb) 4 romb
. black * triunghi cu
(negru) varful in sus
. triunghi cu
. varful in jos
39Lucrarea 4 — Reprezentari grafice
triunghi cu
> varful la
dreapta
triunghi cu
< varful la
stanga
pentagrama
stelata
hexagrama
stelata
Exemplu: Sa se reprezinte grafic cei doi vector.
>> x = [0 2 4 6 8 10 12 14 16 18 20];
>> y = [0 18.7 22.11 31.01 42.32 46.97 49.51
1.56]3
18 51.45 51.58
Pentru a reprezenta grafic cei doi vectori Matlab ofera doud metode.
O prima metoda presupune:
- Se declara cei doi vectori x gi y in Command Window
- Se selecteaza ce doua variabile x gi y din Workspace
- Din meniul Home sectiune Plots se selecteaza tipul de reprezentare dorit (vezi figura
4.1)
‘A doua metoda, presupune reprezentarea grafic direct din line comanda prin
apelarea functiei plot.
pox = [0 2 4 6 8 10 12 14 16 18 20];
>>y = [0 18.7 22.11 31.01 42.32 46.97 49.51 51.18 51.45 51.58
51.56];
>>plot (x,y)
In urma apelri functiei plot se va deschide fereastra Figure, ce contine graficul dorit
(vezi figura 4.2).
40Lucrarea 4 — Reprezentari grafice
Eo
lan
Figura 4.1. Reprezentarea graficd direct din Workspace
Deesaog re
Figura 4.2. Reprezentarea grafica a vectorilor x si y
De cele mai multe ori in inginerie este necesar sA se specifice mai multe detalii ale
reprezentarilor grafice. Urmatoarele comenzi permit cosmetizarea graficului din line
comanda.
4Lucrarea 4 — Reprezentari grafice
Tabelul 4.2. Optiuni de cosmetizare ale graficului
‘Comandé Deseriere
xlabel( ) Permite adaugarea unei etichete pe axa x
ylabel( } Permite adaugarea unei etichete pe axa y
title( ) Permite adaugarea unui titlu
legend( ) Permite adaugarea legendei
text () Permite adaugarea unui text la o locatie specificata
gtext( } Permite addugarea unui text pe grafic folosind mouse-ul
grid on/off Permite adaugarea unei grile pe grafic
O alta modalitate de personalizare a graficelor este cea interactiva, utilizand setul de
instrumente furnizat de fereastra Figure.
De asemenea, sunt situatii care necesita reprezentarea in aceeasi fereastra a mai
multor grafice pentru o analiza comparativa. in Matlab exista trei modalitati
1. Prima metoda presupune utilizarea comenzii hold.
- hold on - ,memoreaza’ graficul curent adaugand urmatoarele grafice peste cel
curent;
- hold off - anuleaza proprietatea de a ,memora” graficul curent;
- is hold - verificd daca este activa functia hold, returneazé 1 daca este activa si 0
daca este dezactivata,
2. Adoua metoda presupune utilizarea functiei plot cu mai multe argumente.
Exemplu’
plot (x1,yl,x2,y2)% reprezinté simultan mai multe grafice in
acelagi sistem de coordonate
3. A treia metoda presupune utilizarea functiei subplot
Aceasta functie imparte fereastra Figure intr-o matrice m x n dreptunghiulara,
Forma general a acestei functii este:
42Lucrarea 4 — Reprezentari grafice
subplot (m,n,p)
Unde: m reprezinté numarul de randuri ale subferestrelor, n reprezinté numarul de
coloane ale subferestrelor, iar p reprezinta subfereastra vizata
Pm eel
pa
ty
fel) eal | ee
te
n=3
Figura 4.3. impartirea in subferestre folosind subplot (2,3,p), unde p=1,6
2. Reprezentarea grafic in coordonate logaritmice
Pentru reprezentarea graficd in coordonate logaritmice si semilogaritmice se
utilizeazé urmatoarele functi:
- loglog (x,y): permite realizarea graficelor 2D, ambele axe sunt scalate logaritmic;
~ semi logx (x, y) permite realizarea graficelor 2D, doar axa x este scalaté logaritmic;
- semilogy (x,y): permite realizarea graficelor 2D, doar axa y este scalaté logaritmic;
3. Functii specializate 2D
Cele mai comune functii specializate 2D utilizate in Matlab sunt detaliate in tabelul
43.
Tabelul 4.3. Functii 2D
Functie Descriere
area _ | Reprezinté o suprafata plina.
43Lucrarea 4 — Reprezentari grafice
bar —_| Reprezinta grafice cu bare
Reprezinté grafic vectorii argument, precizati prin proiecttile pe axe, cu
compass
sgetile oreintate dinspre origine.
cornet | Reprezinta dinamic traiectoria unui punct.
errorbar | Reprezentarea grafica a erorilor.
Reprezinta grafic vectorii argument, precizati prin proiectille pe axe,
feathe
ESEnE= | ordonati echidistant pe axa orizontala
fill | Reprezentarea grafica a poligoanelor.
fplot — | Reprezinta grafice cu parametrii impusi
hist | Reprezinta grafic histograma datelor.
polar _ | Reprezinta grafice in coordonate polare.
rose | Reprezinté grafic histograma unghiulara a dateor in coordonate polare
stairs | Repezinta grafice in trepte.
stem — | Repezinta grafice sub forma discretas
4. Reprezentari grafice 3D
Reprezentarea liniilor in spatiul tridimensional este realizat cu ajutorul comenzii
plot3. Acest tip de reprezentare este util in situatile in care se doreste reprezentarea
unor date care consta in mai mult de doua variabile. Daca pentru reprezentarea 2D sunt
necesare doua variabile pentru reprezentarea 3D sunt necesare trei variabile
Forma general a acestei comenzi este similara cu cea a comenzii plot si este de
forma
plot3(x,y,z,'parametrii_de formatare')
unde x, y $i 2 reprezinté vectori ai punctelor de coordonate, iar
parametrii_de_formatare este un argument optional care poate fi utilizat pentru a
specifica culoarea, tipul de linie si tipul de marcaj. Cei trei vectori trebuie sa aiba acelasi
numar de elemente.
44Lucrarea 4 — Reprezentari grafice
Exemplu:
>> t=O:pi/50:10*pis
>> xssin(t);
>> y=cos(t)s
>> plot3(x,y,t);xlabel('axa x');ylabel('axa y');zlabel('axa z')
in urma executiei acestui exemplu rezulta figura 4.4.
Figura 4.4. Reprezentarea 3D a funotilor sinus si cosinus
De asemenea, pentru a reprezenta suprafete, Matlab pune la dispozitie comanda
mesh.
Exemplu: Fie functia: (x. » , pentru xe[-2 2] si ye[-4 4]. SA se
reprezinte suprafata ce reprezinta graficul unei functii de doud variabile == f(x,y).
Pentru inceput trebuie stabilite matricele ce definesc domeniul de definitie. Comanda
meshgrid are rolul de a transforma domeniile de tip vector in matrice, deoarece
comanda sur utilizeaza ca variabile de intrare matrice.
>>[x, y]=meshgrid (-2:2,-4:4)
pozex.ty./(x.%2+y.%241) 7
>>surf (x,y,z)
45Lucrarea 4 — Reprezentari grafice
Figura 4.5. Reprezentarea functiei z
Comanda surf se poate inlocui cu urmatoarele comenzi: mesh, surfc, meshe.
Comenzile surfc si mesh deseneaza gi linille de contur in planul xoy. In cazul
in care se doreste doar desenarea liniilor de contur se pot folosi comenzile:
contour (x, y,2)$icontourf (x,y,z). contourf (x,y,z) aregiroluldeaumple
diferentele de nivel cu o culoare
Pentru reprezentarea in spatiu a celor mai cunoscute figuri geometrice, Matlab pune
la dispozitie urmatoarele comenzi
- cylinder (x,n) returneazé coordonatele x, y si z ale unui cilindru de raza r, cu n
puncte pe circumferinta;
- sphere (n) returneaza suprafata unei sfere cu n puncte pe cirfumferinta. Implicit n =
20;
- ellipsoid(xc, yc, zc,rx, ry, rz) returneaza un elipsoid.
5. Export / import de grafice
Matlab pune la dispozitie mai multe metode de salvare a reprezentarilor grafice. Prin
urmare aveti posibilitatea de a salva reprezentarea grafica ca o imagine sau ca un fisier
grafic.
Reprezentarile grafice salvate ca imagine pot fi importate cu usurint& in Microsoft
Word sau in alté aplicatie. Cu toate acestea, imaginile nu mai pot fi editate (cum ar fi
editarea de linii, text), in schimb figierele grafice stocheaza si datele de la baza
reprezentari, ele putand fi ulterior editate si prelucrate.
O prima metoda este cea din linie comanda prin intermediul comenzii save ic.
46Lucrarea 4 — Reprezentari grafice
Forma generala a acestei comenzi este [1]:
savefig('nume_figura.fig')
sau
saveas(gcf, ‘nume_figura.extensie')
unde gcf face referire la figura curenta.
Daca dorim s& vizualizam o figura care este salvatd, utiizim comanda openfig.
Fisierele cu extensia fig pot fi deschise numai in Matlab.
Forma general a acestei comenzi este:
openfig('nume_figura.fig')
A doua metoda este interactiva si presupune utilizarea instrumentelor puse la
dispozitie de fereastra Figure
Pentru export de grafice: accesati meniul File > Save/Save as sau File — Export
Setup — Export.
Pentru import de grafice: accesati meniul File Open
Bibliografie
[1] A. Gilat, Matlab An Introduction with Applications. Fifth Edition” , Wiley, 2015.
[2] N. Breaz, M. Craciun, P. Gaspar, M. Miroriu, |. Paraschiv-Munteanu, ,Modelarea
matematica prin Matlab”, 2011
Cerinte:
1, Sa de introduca in Matlab toate instructiunile de prezentate in aceasta lucrare.
2. Sa se reprezinte grafic functiile:
47Lucrarea 4 — Reprezentari grafice
bo»
xIn(x? +2)definite pe intervalul x <[-2 2]
SA se reprezinte ambele functii pe acelasi grafic (suprapus).
3. Sa se reprezinte grafic functile
b. y,
subferestre.
cos2x definite pe intervalul x <[o 47]. Sa se reprezinte ambele funotii in
4. Sse reprezinte graficul functiei z = ec
[ery
Se vor utiliza comenzile: mesh, meshc, surf, surfe,
pe domeniul x € [-8 8], y € [-8 8].
5. Sa se reprezinte grafic, pe intervalul x <[-10 10], functia: y= x° +3x+2.
6. Utilizand graficul de la cerinta 4, adaugati din linie comanda titlu si etichete pentru axe.
7. S& se reprezinte grafic, cu linie neagr& intrerupta, functia f(x)=cosx pentru
xe[-4 I] ou pas de 0.01.
8. Sa se traseze suprafata definitaé de z=xsin(y)cos(x) pe domeniul xe[-7 z],
yc[-7 7] sis& se editeze modul de colorare al suprafetei
9. SA se deseneze urmatoare figuri geometrice: un cilindru si o sfera. Salvati fiecare
figura utilzand modul interactiv cat si metoda din linie comanda.
10.8 se reprezinte in coordonate logaritmice si semilogaritmice _functia
f(x) = 10x" +3x+1, pe intervalul x<[-10 10].
11.88 se reprezinte dinamic functia f(x) =cosx atat in planul 2D cat si in planul 3D.
48