Sunteți pe pagina 1din 14

Elemente de grafică

2.1. Trasarea unui grafic în plan

Trasarea unui grafic 2D în MATLAB se realizează cu ajutorul


unor funcții speciale cum ar fi:

plot, loglog, semilogx, semilogy, fill.

Funcția plot este utilizată pentru reprezentarea în coordonate


liniare și se apelează sub una din formele

plot(y), plot(x,y), plot(x,y,’tip linie’,’tip culoare’),

unde x și y reprezintă argumentele.

>> u=0:pi/32:3*pi; fu=tan(2.*u)+5.*u; plot(fu)

16
x 10
2

1.5

0.5

0
0 20 40 60 80 100

>>u=pi:pi/32:pi; u=sin(u.^2)+5.*u; gu=cos(u./2)+2.*u;


>>plot(u,fu,'b',u,gu,'m')

38
20

15

10

-5

-10

-15

-20
-4 -2 0 2 4

15

>>x=0:pi/12:2*pi; 10
fx=cos(x./2);%reprezentarea
5
în complex
>>y=fft(fx); 0
plot(real(y),imag(y))
-5

-10

-15
0 0.5 1 1.5

2000

1500

1000
>>w0=5;t=0:0.01:10;
f1=2*sin(w0*t)+3*sin(w0/ 500

2*t)+1.3*sin(2*w0/2*t); 0
>> y1=fft(f1); -500
>>plot(y1)
-1000

-1500

-2000
-200 -150 -100 -50 0 50

Reprezentarea grafică în coordonate logaritmice scindează


ambele axe în logaritmi în baza 10, în timp ce coordonatele
semilogaritmice scalează doar una din axe, cealaltă fiind liniară.

39
Aceste grafice logaritmice se pot apela cu una din sintaxele:
loglog(u,v), semilogx(x,y), semilogy(x,y).

20
10

15
10
>> x=1:0.1:25;
>> fx=(5+sin(x)).^x;
10
>> loglog(x,fx) 10

5
10

0
10 0 1 2
10 10 10
8
x 10
8

5
>> x=1:.01:60;
gx=x.^5+3*x.^2-1; 4
>> semilogx(x,gx) 3

0 0 1 2
10 10 10
10
10

8
10

>> semilogy(x,gx)
6
10

4
10

2
10

0
10
0 10 20 30 40 50 60

40
O altă funcție specială utilizată de acestă dată doar pentru
reprezentarea poligoanelor este fill și poate fi accesată cu ajutorul
sintaxei:
fill(x,y) sau fill(x,y,’m’)

unde x, y sunt parametrii care definesc poligonul iar m este


parametrul care definește culoarea.

>> x=[-1 2 -3 4]; y=[-6 -7 8 9];fill(x,y,'m')


10

-5

-10
-4 -2 0 2 4

MATLAB-ul dispune și de alte funcții speciale cum ar fi: polar,


bar, stem, stairs, errorbar, hist, rose, compass, feather, fplot.
Reprezentarea grafică a unei funcții în coordonate polare se
realizează cu ajutorul sintaxei:

polar(unghi, funcție)

90 0.6
120 60
>> unghi=0:pi/32:2*pi; 0.4
>> f=sin(unghi).*cos(unghi); 150 30
>> polar(unghi,f) 0.2

>> unghi=0:pi/32:2*pi;
180 0
>> f=sin(unghi).*cos(unghi);
>> polar(unghi,f)
210 330

240 300
270

41
Funcția bar(u) sau bar(u,v) are ca rezultat o reprezentare grafică
sub formă de bare a vectorului u sau v(u).
>> u=0:2:20;
>> bar(u)
20

15

10

0
1 2 3 4 5 6 7 8 9 10 11

>> u=[1 3 5 9 7 4 8 2]; v=[10 20 30 40 50 60 70 80];


>> bar(u,v)
80

70

60

50

40

30

20

10

0
0 2 4 6 8 10

Reprezentarea discretă a datelor este utilizată pentru semnalele


funcțiilor discrete și se realizează cu sintaxa: stem(u) sau stem(u,v).
unde, u și v sunt vectori.

>> u=-pi/2:pi/32:pi/2;
>> v=sin(2.*u);
>> stem(u)

42
2

1.5

0.5

-0.5

-1

-1.5

-2
0 10 20 30 40

>> stem(u,v)
0.5

-0.5

-1
-2 -1 0 1 2

Funcția stairs(u) sau stairs(u,v) are rolul de a reprezenta o variație


în trepte fiind utilizată la analiză statistică (eșantioane).

12

11

10
>> u=[5 6 7 8 9 10 11 12];
>> v=sqrt(5*u+u.^3); 9

>> stairs(u) 8

5
0 2 4 6 8

43
45

40

35

>> stairs(u,v) 30

25

20

15

10
4 6 8 10 12

Reprezentarea grafică a vectorilor cu elemente în domeniul


complex se realizează pornind din originea sistemului de referință cu
ajutorul funcției compass(c) sau luând originea echidistantă pe axa Ox
și acest lucru se realizează utilizând sintaxa feather(c).
>> u=1-5*i; v=3*i-5; t=0.5-6*i;
m=7+2*i; 90 8
120 60
>> m=[u v t m]; 6
>> compass(m) 150 4 30
2

180 0

210 330
>> feather(m)
240 300
4 270

-2

-4

-6
-5 0 5 10 15

44
Funcția fplot realizează o reprezentare grafică cu parametrii
impuși și se apelează utilizând următoarele argumente: funcția fișier,
limitele axelor, eșantioanele, unghiul dintre două segmente alăturate,
numărul de subdiviziuni. Aceasta este apelarea complexă a funcției
fplot. Cea mai simplă formă de apleare se realizează cu sintaxa:

fplot(‘nume funcție’,[limită_min limită_max])

function z=f(y) z=tan(y)./y; % se salvează f.m


>> fplot('f',[-10 10],10) % se tastează în fereastra de comandă
60

40

20

-20

-40
-10 -5 0 5 10

În fine, în cele ce urmează se prezintă o reprezentare grafică


dinamica 2D care se apelează cu ajutorul funcției comet având rolul de
a urmării realizarea graficului printr-un marker. Sintaxa de apelare a
funcției este:
comet(u) sau comet(u,v)

>> u=-pi:pi/32:pi; v=sin(2.*u)-cos(3.*u); comet(v)

45
Pentru formatarea acestor grafice se prezintă în tabelele de mai
jos specificatoarele pentru tipuri de linie, markere și culori, v. tabelul
2.1-3.

Tabelul 2.1. Stiluri de linie


Simbol Semnificație
- Linie continuă
-- Linie întreruptă
: Puncte
-. Linie cu punct

Tabelul 2.2. Tip marker


Simbol Semnificație
+ Plus
o Cerc
* Stea
. Punct
x x
s Pătrat
d Romb
p Pentagon
h Hexagon
^ Triunghi cu vârful sus
v Triunghi cu vârful jos
< Triunghi cu vârful la stânga
> Triunghi cu vârful la dreapta

Tabelul 2.3. Tip culoare


Simbol Semnificație
r Roșu
g Verde
b Albastru
c Albastru deschis
m Mov
y Galben
k Negru
w Alb

46
2.2. Reprezentarea grafică 2D a curbelor speciale din geometrie

În cele ce urmează se reprezintă grafic 2D câteva din curbele


speciale din geometrie, cum ar fi: hiperbola, parabola, astroida, sfera,
cardioida, lemiscata lui Bernulli, curba.
Parabola este dată de
5
ecuația parametrică

 t2
x  ,t  R
 2p
 y t

0

>> p=3; t=-5:.01:5;


>> x=t.^2/(2*p); y=t;
>> plot(x,y)
-5
Hiperbola este caracterizată 0 1 2 3 4 5

de următoarele ecuații
100
parametrice:

x  a  ch (t ), t  R 50

 y  b  sh (t )
sau 0
x  a  ch (t ), t  R

 y  b  sh (t )
-50

>> a=3;b=-9; t=-3:.001:3;


>> x=a.*cosh(t);y=b.*sinh(t); -100
-40 -20 0 20 40
>> plot(x,y,-x,-y)

Astroida este un tip particular de curbă sau o super elipsă cu n =


2/3 și a=b, care este descrisă de următoarea ecuație parametrică:

x  cos 3 ( ),  0,2 



 y  sin3 ( )

47
>> t=0:pi/32:pi;x=(cos(t)).^3;y=(sin(t)).^3;plot(x,y,-x,-y)
1

0.5

-0.5

-1
-1 -0.5 0 0.5 1

Elipsa este o curbă obținută din intersecția unui con cu un plan.


Este caracterizată de
ecuațiile parametrice: 8

6
x  a  cos ( ),   0,2 
 4
 y  b  sin ( )
2

0
unde, a și b sunt semiaxele
elipsei. -2
>>a=5;b=7; -4
>>teta=0:pi/32:2*pi; -6
>>x=a.*cos(teta);
-8
>>y1=b.*sin(teta); -5 0 5
>>y2=-y1;
>> plot(x,y1,x,y2)

Cardioida este o curbă în formă de inimă fiind considerată


inversa unei parabole. Este descrisă de următoarele ecuații
parametrice:
 1
x  2  r  (cos ( )  2 cos(2   )),   0,2 
 1
 y  2  r * (sin ( )  sin(2   ))
 2

unde, r este raza cercurilor care generează curba.


48
30
>>r=8;teta=0:pi/32:2*pi;
20
>>x=2*r.*(cos(teta)-
1/2*cos(2.*teta)); 10
>>y=2*r*(sin(teta)-
1/2*sin(2.*teta)); 0

-10
>> plot(x,y)
-20

-30
-30 -20 -10 0 10 20

Lemniscata lui Bernoulli este o curbă în formă de 8 și este


considerată inversa unei hiperbole. Este caracterizată de ecuația
parametrică:
 a  cos ( )
x  ,   0,2 
 1  sin2 ( )

 y  a  sin ( )  cos( )
 1  sin2 ( )

>>a=8;teta=0:pi/32:2*pi;
>>x=(a.*cos(teta))./(1+(sin(teta)).^2);
>>y=(a.*sin(teta).*cos(teta))./(1+(sin(teta)).^2);
>> plot(x,y)
3

-1

-2

-3
-10 -5 0 5 10

Curba Butterfly este cunoscută sub denumirea de curba fluture și


este descrisă de ecuația polară:

49
   
x  sin  e cos   2 cos 4  sin5   
  12  

   
y  cos   e cos   2 cos 4  sin5   
  12  
unde, [0,2]

>> teta=0:.001*pi:24*pi;
x=sin(teta).*(exp(cos(teta))-2*cos(4*teta)+(sin(teta/12)).^5);
y=cos(teta).*(exp(cos(teta))-2*cos(4*teta)+(sin(teta/12)).^5);
>> plot(x,y)
4

-1

-2

-3
-4 -2 0 2 4

2.3. Tema nr. 1

1. Să se reprezinte 2D în funcție de tipul graficului cerut următoarele


funcții:
a. f x   sinx   x  2 pentru x  1,10 . Să se reprezente funcția
în coordonate carteziene, logaritmice, semilogaritmice pe Ox/Oy.
b. g x   sinx   cosx   x pentru x   10,10. Să se reprezinte
funcția prin grafic bare, limite speciale pentru intervalul
x   5,5 , în trepte, coordonate polare,
2. Să se reprezinte grafic următoarele curbe speciale:

x t   r t  sint , t  R

 y t   r 1  cos t 
50
x t   a  r cos t , t  0,2 

 y t   b  r sint

h    b cos 2  a cos  ,   0,2 

3. Să se reprezinte dinamic următoarele funcții:

g x   tg x   sin3x  pentru x    , 
f x   e  sinx  cosx  pentru x  0,2 

2.4. Reprezentarea grafică 3D

MATLAB-ul are capacitatea de a reprezenta grafic în trei


dimensiuni curbe, suprafețe sau corpuri tridimensionale. Unele dintre
cele mai utilizate funcții 3D sunt plot3, mesh, surf, fill3.
Pentru personalizarea acestor grafice tridimensionale se pot
utiliza funcții speciale cu efect asupra ferestrei grafice, axelor,
culorilor, etichetelor etc, așa cum se prezintă în tabelul 2.4.

Tabelul 2.4. Funcții pentru formatarea graficelor 3D


Sintaxă Semnificație
Definește domuniul de reprezentare
meshgrid
sub fomă de rețea de puncte
grid on/off Trasează o rețea de linii pe grafic
axes, axis Scalează axe la poziții impuse
subplot Scindează fereastra grafică
hold on/off Memorează graficul anterior
Stablilește/returneză matricea de
colormap culoare folosită (gray| hot|cool
cooper|pink|hsv)
shading Stabilește modul de umbrire pentru
suprafețele 3D
xlabel, ylabel, zlabel Precizează eticheta axei Ox, Oy, Oz
Plasează un text pe grafic în zona
gtext/text
selectată cu mouse-ul sau precizată
title Precizează titlul graficului

51

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