Documente Academic
Documente Profesional
Documente Cultură
1. Grafice 2D.
Presupunem c am efectuat un experiment n care variind o
m rime x de la -5 la 5 cu pasul 0.5 am ob inut urm torul sir de valori: -4,
-7, -5, -3, 0, 2, 5, 8, 6, 2, 0, -4, 2, 4, 7, 9, 6, 0, -3, -1, -3. Putem cu
MATLAB s prezent m un grafic al varia iei rezultatelor. Pentru aceasta
vom proceda astfel. Vom construi vectorul x al parametrului cu ajutorul
operatorului : .
>> x=-5:0.5:5
Vom defini vectorul y al valorilor ob inute:
>> y=[-4,-7,-5,-3,0,2,5,8,6,2,0,-4,2,4,7,9,6,0,-3,-1,-1]
Vom construi graficul dorit utiliznd func ia plot:
>> plot(x,y)
ntr-o fereastr special (fereastra grafic ) apare graficul dorit (Figura
4.1):
Figura 4.1
1
Vom completa acest grafic cu un titlu, cu etichete pentru axa Ox
i Oy, cu indicarea prin text pe grafic al punctului de minim i de maxim:
>> title ('EXEMPLUL 1')
>> xlabel('VARIATIA PARAMETRULUI X')
>> ylabel('REZULTATE')
>> text(-4.5,-7,'minim')
>> text(2.5,9,'maxim')
La comanda text valorile numerice indic punctul (x,y) pozi ia din
fereastra graficului de unde va ncepe scrierea textului. Pentru informa ii
suplimentare recomand m capitolul corespunz tor din manualul User
Guide [2] (Figura 4.2).
Figura 4.2
2
- speclinie este un ir de caractere intre ` ` i reprezint tipul liniei ce
une te punctele definite de x i y, markerul cu care se reprezint
punctele definite de x i y i culoarea liniei puse n aceast ordine.
Tipul de linie poate fi:
simbol Tip linie
- Linie continu (implicit)
-- liniu e
: puncte
-. Linie-punct
3
utiliza comanda plot. Vom considera ra ia ca fiind 0.01. ntruct x este un
vector iar sin(x) este tot un vector va trebui s utiliz m la nmul ire
opera ia cu punct (.*)
>> x=-pi:0.01:pi;
>> y=x.*sin(x);
>> plot(x,y,-xr)
>> title('Graficul func iei x*sin(x)')
>> xlabel('x')
>> ylabel('x*sin(x)')
Graficul ob inut este prezentat n figura 4.3
Remarca i faptul c am pus la sfr itul definirii lui x ; care are
rolul de a anula scrierea pe ecran vectorului x. Am f cut acest lucru
pentru a nu umple inutil ecranul cu elementele lui x (nu mai pu in de 629
de elemente). Am procedat la fel i la definirea lui y (evident tot 629 de
elemente). Recomand m utilizarea acestui separator pentru a anula
scrierea inutil a tot felul de numere pe ecran. ns este util s nu utiliz m
separatorul ; dac dorim s depan m un program.
Figura 4.3
4
Putem reprezenta i suprafa a ce reprezint graficul unei func ii
de dou variabile z=f(x,y).
x y
f ( x, y ) = 2 pentru x [ 2, 2] , y [ 4, 4]
x + y2 +1
Pentru aceasta trebuie s definim mai nti matricile ce definesc
domeniul de defini ie i utiliz m apoi comanda surf (figura 4.4)..
>> [x,y]=meshgrid([-2:0.2:2],[-4:0.4:4]);
>> z=x.*y./sqrt(x.^2+y.^2+1);
>> surf(x,y,z)
Figura 4.4
Comanda meshgrid are rolul de a transforma domeniile de tip
vector ale lui x i y n matrici pentru a putea fi utilizate de surf care cere
ca variabilele de intrare s fie matrici.
n locul comenzii surf se pot utiliza comenzile mesh,surfc,meshc
ultimele dou desennd pe planul xOy liniile de contur. Dac se doresc
doar liniile de contur exist comenzile contour(x,y,z) i contourf(x,y,z)
special pentru acest lucru. Ultima dintre ele umple cu culoare diferen ele
de nivel ( vezi figura 4.5).
Pentru a le desena graficele pe acela i ecran am folosit comanda
subplot(n,m,k) unde n reprezint num rul de lini de subferestre, m
5
num rul de coloane de subferestre, iar k num rul ferestrei ce devine
activ . Comenzile au fost:
>> subplot(1,2,1)
>> contour(x,y,z)
>> subplot(1,2,2)
>> contourf(x,y,z)
Figura 4.5
Pentru desenarea de figuri geometrice n spa iu avem trei
comenzi:
- cylinder(y,n) deseneaz un corp de rota ie n jurul axei z generat de o
curb creat de vectorul y i avnd n puncte pe circumferin . Daca r
este constant atunci deseneaz o prism regulat cu baza avnd n
laturi. Cu ajutorul ei se pot desena i piramide sau conuri.
- 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.
Aplica ii
1. S se reprezinte graficele func iilor urm toare:
6
x
y1 = e 2 sin ( 2 x ) ; y2 =
x +1
x3
2
; (
y3 = x sin x 2 + 1 ;) y 4 = x 2 + 1 arctg ( x ) ,
sin x2 + y2
2. a) S se reprezinte graficul func iei z =
x2 + y 2
pe domeniul x [ 8 , 8] , y [ 8 , 8] . Se vor utiliza toate comenzile de
desenare ( mesh, meshc, surf, surfc ), pe acela i ecran n figuri diferite.
Discuta i diferen ele.
b) S se traseze suprafa a definit de z = x sin ( x ) cos ( y )
pe domeniul dat de x [ , ] , y [ , ] i s se editeze modul de
colorare al suprafe ei.
c) S se traseze liniile de contur ale celor dou grafice de
mai sus n ambele variante de desenare, cele patru desene fiind
reprezentate pe aceia i imagine.
7
b) un elipsoid de centru (0,0,0.5) i raze rx=1.5, ry=1 i
1
rz=0.75 cu conul generat de y = x 4; pentru x=0:0.5:8.
2
Indica ii i solu ii
Fig. 1.a)
b) x=-2:0.1:2; y1=exp(x/2).*sin(2*x); y2=(x-2)./(x.^2+1);
y3=x.*sin(x.^2+1); y4=sqrt(x.^2+1).*atan(x);
subplot(2,2,1); plot(x,y1,r); subplot(2,2,2); plot(x,y2,b);
subplot(2,2,3); plot(x,y3,g); subplot(2,2,4); plot(x,y4,m)
8
Fig. 1.b)
2. a) x=-8:0.5:8; y=x; [X,Y]=meshgrid(x,y);
Z=sin(sqrt(X.^2+Y.^2+eps))./sqrt(X.^2+Y.^2+eps); surf(X,Y,Z)
Fig. 2.a)
9
b) x=-pi:pi/10:pi; y=x; [X,Y]=meshgrid(x,y);
Z=X.*sin(X).*cos(Y); surf(X,Y,Z);
Fig. 2.b)
c) x=-8:0.5:8; y=x; [X,Y]=meshgrid(x,y);
Z=sin(sqrt(X.^2+Y.^2+eps))./sqrt(X.^2+Y.^2+eps); subplot(2,2,1)
contour(X,Y,Z); subplot(2,2,3); contourf(X,Y,Z)
x=-pi:pi/10:pi; y=x; [X,Y]=meshgrid(x,y); Z=X.*sin(X).*cos(Y);
subplot(2,2,2);contour(X,Y,Z); subplot(2,2,4); contourf(X,Y,Z)
Fig.2,c)
10
3. a) cylinder;
Fig.3.a)
b) cylinder(4,4);
Fig. 3.b)
11
c)x=0:0.2:2; y=x-2; cylinder(y,4);
Fig. 3.c)
d) x=0:0.2:2; y=x-3; cylinder(y,6);
Fig. 3.d)
12
e) x=0:0.2:2; y=x-2; cylinder(y,40);
Fig 3.e)
f) x=0:0.2:2; y=x-3; cylinder(y,40);
Fig. 3.f)
13
g) x=-pi/2:pi/10:pi/2; y=x.*sin(x); cylinder(y,40);
Fig. 3.g)
h) sphere;
Fig. 3,h)
14
j) ellipsoid(0,0,0,1,8,3).
Fig. 3.h)
4. a) x=0:0.1:2; y=x-2; cylinder(y,50); hold on; cylinder;
Fig. 4.a)
15
b) ellipsoid(0,0,0.5,1.5,1,0.75); hold on; x=0:0.5:8; y=0.5*x-
4; cylinder(y,40)
Fig, 4.b)
16