Sunteți pe pagina 1din 7

Introducere in Matlab

INDEX ( cu exemple)
Constante
ans Variabila creata automat de mediul Matlab, in care este returnat rezultatul uni calcul, atunci cand
expresia nu a avut un nume asignat
eps Variabila permanenta in care este memorata eroarea relativa pentru calcule efectuate in virgula
mobila
pi Variabila permanenta cu valoarea 3.1415 ...
i Variabila folosita la scrierea numerelor complexe. Exemplu: z=x+y*i cu x si y din R
j Variabila alternativa la unitatea imaginara
inf Variabila folosita pentru reprezentarea lui plus infinit ca rezultat al impartirii 1.0/0.0
nan Variabila folosita pentru reprezentarea lui Not-A-Number ca rezultat al impartirii 0.0/0.0
realmax, realmin Cea mai mare/mica valoare pozitiva in virgula mobila
----------------------------------------------------------------------------------------------------------------
Caractere speciale in Matlab
: Se foloseste la generarea diviziunilor
() Folosite pentru “corpul” unei functii
[] Pentru desemnarea unei matrici/vector
@ Simbol pentru anuntarea unei functii de tip FUNCTION_HANDLE
. Indicator de operatie aritmetica “element cu element”
.
… Continuarea unei comenzi Matlab pe linia de comanda urmatoare
, Separator intre instructiuni pe aceiasi linie de comanda (cu ecou pe ecran)
; Separator intre instructiuni pe aceiasi linie de comanda ( fara ecou pe ecran)
% Se foloseste pentru a anunta comentarii in program
! Parasirea mediului Matlab pentru o sesiune de lucru externa
= Asignare
‘ Transpusa unei matrici
[,] Separator intre elementele aceleiasi linii intr-o matrice/vector
[;] Separator intre liniile unei matrici
---------------------------------------------------------------------------------------------------------------
Operatori aritmetici in Matlab
1) ADUNAREA a+b , a si b sunt doua matrici reale sau complexe de acelasi tip SAU a este un scalar
si b este o matrice oarecare SAU a si b sunt numere reale sau complexe (operatia a scalar si b matrice
este specifica Matlab: se aduna scalarul a la toate elementele matricii b. Spre exemplu: »a=2 ; b=[-1
3;4 5] atunci »a+b=[1 5;6 7] )
2) SCADEREA a-b , a si b sunt doua matrici reale sau complexe de acelasi tip SAU a este un
scalar si b este o matrice oarecare SAU a si b sunt numere reale sau complexe
(operatia a scalar si b matrice este specifica Matlab: se scad din scalarul a toate elementele matricii b.
Spre exemplu: »a=2 ; b=[-1 3;4 5] atunci »a-b=[3 -1;-2 -3])
3) INMULTIREA a*b , a si b sunt doua matrici reale sau complexe de acelasi tip SAU numarul
coloanelor lui a egal cu numarul liniilor lui b SAU a este un scalar si b o matrice SAU a si b sunt numere
reale sau complexe
4) INMULTIREA element cu element a.*b daca a si b sunt doua matrici / vectori de acelasi tip (
operatie specifica Matlab: se inmultesc intre ele elementele de pe aceiasi pozitie. Spre exemplu: » a=[2
4;2 2;1 1] ; b=[-1 2;0 -6;1 7] atunci » a.*b= [-2 8 ;0 -12; 1 7] )
5) IMPARTIREA LA DREAPTA a/b , a si b sunt numere reale sau complexe SAU daca a si b sunt
matrici atunci a/b este solutia sistemului liniar compatibil determinat x*a=b adica b*inv(a) unde
inv(a) este inversa matricii a (operatie specifica Matlab). Exemplu: Se da sistemul x*a=b unde a=[1
4;2 -3] si b=[1 3] atunci a/b returneaza solutia [1.300;0.700]
6) IMPARTIREA LA STANGA a\b , a si b sunt numere reale sau complexe SAU daca a si b sunt
matrici atunci a\b este solutia sistemului liniar compatibil determinat a*x=b adica x=inv(a)*b unde
inv(a) este inversa matricii a (operatie specifica Matlab) . Exemplu: Se da sistemul a*x=b unde a=[1
1; 4 5] si b=[1 2]’ atunci a\b returneaza solutia [ 3 -2]’
7) IMPARTIREA ELEMENT CU ELEMENT LA DREAPTA a./b , a si b sunt doua matrici reale sau
complexe de acelasi tip (operatie specifica Matlab:se impart intre ele elementele de pe aceiasi pozitie).
Exemplu: »a=[1 1; 4 5] ; b=[3 -1;-2 -3] atunci »a./b returneaza matricea [0.3333 -1.0000 ; -
2.0000 -1.6667])
8) IMPARTIREA ELEMENT CU ELEMENT LA STANGA a.\b (operatie specifica Matlab:se impart intre
ele elementele de pe aceiasi pozitie). Exemplu: »a=[1 1; 4 5] ; b=[3 -1;-2 -3] atunci »a./b
returneaza matricea [0.3333 -1.0000 ; -2.0000 -1.6667] )
9) RIDICARE LA PUTERE a^b , a si b sunt numere reale sau complexe
SAU a este matrice reala sau complexa si b numar natural mai mare decat 1 SAU a este un scalar iar b
o matrice patratica
10) RIDICARE LA PUTERE element cu element a.^b, a si b sunt doua matrici reale sau complexe de
acelasi tip (operatie specifica Matlab: operatia se efectuaeaza pentru elementele de pe aceiasi pozitie).
Exemplu: »a=[1 1; 4 5] ; b=[3 -1;-2 -3] atunci »a.^b returneaza matricea [1.0000 1.0000;
0.0625 0.0080] )
11) TRANSPUSA a' unde a este o matrice reala sau complexa oarecare ( schimba liniile cu coloanele
iar pentru matricile cu elemente numere complexe pe noua pozitie complexele sunt conjugate)
----------------------------------------------------------------------------------------------------------------
OPERATORI RELATIONALI SI LOGICI
Operatori relationali
= = (egal); ~= (diferit) ; < ; > ; <= ; >=
Spre exemplu: »a<b compara matricile a si b de acelasi tip, element cu element si returneaza o matrice
de acelasi tip care contine : in pozitiile in care relatia este adevarata intre elemente se afla elementele lui
a iar in cele in care relatia nu este adevarata zerouri
Operatori logici
& (si); | (sau); ~ (not); xor (or)
Spre exemplu: »a&b returneaza o matrice de acelasi tip cu a si b cu 1 pe pozitiile in care a si b nu au
elemente 0 si 0 pe pozitiile in care a si b au elemntele 0 ( unul dintre elementele operatiei poate fi un
scalar iar celalalt o matrice oarecare)
---------------------------------------------------------------------------------------------------------------
INTRODUCEREA DATELOR
[] Introducerea matricilor si vectorilor in linia de comanda
Exemplul 1. Sa se rezolve sistemul liniar
x+2*y+3*z=1
4*x+5*y+6*z=2
7*x+8*y+5*z=3
Se introduce matricea A si vectorul B
»A=[1 2 3;4 5 6;7 8 5]; B=[1 2 3]’;
Vectorii de pas constant intre componente se genereaza cu instructiune : sau cu linspace
Exemplul 2: Sa se genereze vectorul cu componentele 100 98 96 …. -98 -100
»x=100:-2:-100
Introducerea functiilor
Exemplul 1: Functiile elementare sunt acceptate direct
Sa se determine minimul functiei y=sin(x) in intervalul [0,2*pi]
»xmin=fmin(‘sin’,0,2*pi) % calculeaza minimul local al functiei y=sin(x) in intervalul [0, 2*pi]
Exemplul 2: Sa se afle minimul local al functiei y = 1 ./((x-.3).^2 + .01)+1 ./ ((x-.9).^2 + .04) – 6
in intervalul [1,2]
Varianta 1: Se scrie in editorul Matlab , un fisier functie cu numele humps.m
function y-humps(x)
y = 1 ./ ((x-.3).^2 + .01) + 1 ./ ((x-.9).^2 + .04) - 6;
Se apeleaza functia humps.m in corpul functiei fmin, cu sintaxa
»x = fmin (‘humps’,1,2)
Varianta 2:
»f=inline(‘1 ./ ((x-.3).^2 + .01) + 1 ./ ((x-.9).^2 + .04) - 6’), x=fmin(f,1,2)
Exemplul 3: Se foloseste metoda functiilor de tip anonymous (function handle).
Sa se determine minimul local pentru functia de doua variabile z= 100*(y-x^2)^2+(1-x1)^2,
cunoscuta sub numele de banana
»banana = @(x)100*(x(2)-x(1)^2)^2+(1-x(1))^2;
»[x,fval] = fmins (banana,[-1.2, 1])
Observatie: Comanda Matlab, plot primeste forma analitica a functiei direct in corpul sau pe locul
variabilei dependente
Exemplu:
»x=1:0.1:10; plot(x,’sin(x)./x’.’-‘)
---------------------------------------------------------------------------------------------------------------
Conrolul fluxului si vectorizare
if Instructiune pentru executia conditionata (ciclu cu test initial)
else Instructiune asociata cu if
elseif Instructiune asociata cu if
for Instructiune pentru crearea ciclurilor cu numar specificat de pasi
while Instructiune pentru crearea ciclurilor cu conditie logica
break Instructiune pentru terminarea fortata intr-un ciclu
return Returneaza executia la functia specificata
error Instructiune pentru afisarea unui mesaj de eroare
end Instructiune pentru incheierea ciclurilor de tip for, if ,while
switch Instructiune care schimba cazurile in baza unei expresii
case Instructiune folosita cu switch
otherwise Instructiune folosita cu switch
Exemplu: Sa se calculeze functia valorile functiei f(x) definite ca 2*x+3, daca x apartine intervalului [-
10,2] si 2*x^2-1 daca x apartine intervalului (2,20] pentru toate valorile intregi pentru care este
definita si sa se reprezinte grafic.
»x=-10:20; for k=1:length(x)
if x<=2
f= 2*x(k)+3 ;
else f=2*x.^2-1
end
end
»plot(x,f)
Vectorizare
De multe ori ciclurile for pot fi evitate folosind facilitatile de vectorizare Matlab
Exemplu ; Generati un vector xn cu elementele, xn = (-1)n+1/(2n-1), n este natural si n=1…200
»n=1:200; xn=(-1).^(n+1)./(2*n-1)
-----------------------------------------------------------------------
Analiza matriciala
inv Calculeaza inversa unei matrice patratice nesingulare
pinv Calculeaza pseudoinversa unei matrici
rank Calculeaza rangul unei matrice
cond Estimeaza numarul de conditionare al matricei
det Calculeaza determinantul unei matrici patratice
trace Calculeaza urma unei matrice
condest Estimeaza numarul de conditionare al matricei
norm Calculeaza norma vectorului sau matricei
rcond Estimeaza numarul de conditionare al matricei
size Returneaza dimensiunea unei matrici
length Returneaza lungimea unui vector
‘ Calculeaza transpusa unei matrici/vector
diag Extrage din matrice, matricea diagonala
Exemplul 1. Se dau matricile A=[2 -3 1;-4 6 2;1 2 3] si B=[1, 3, 1]
Se cere size(A), length(B), rank(A),det(A), inv(A) , cond(A), trace(A), A’, B’
» size(A), length(B), rank(A),det(A), inv(A) , cond(A), trace(A), A’, B’, diag(A)
----------------------------------------------------------------------------------------------------------------
Prelucrarea sirurilor de date si calcule statistice
max Determina cea mai mare componenta a unui vector/matrice
min Determina cea mai mica componenta a unui vector/matrice
mean Calculeaza valoarea medie a componentelor unui vector
median Calculeaza valoarea mediana a componentelor unui vector
sort Sorteaza elementele in ordine crescatoare
std Calculeaza abaterea standard a a componentelor unui vector
sum Calculeaza suma componentelor unui vector/matrice
cumsum Calculeaza suma cumulate a componentelor unui vector
prod Calculeaza produsul a componentelor unui vector
cumprod Calculeaza produsul cumulat a componentelor unui vector
corrcoef Calculeaza coeficientii de corelatie
cov Calculeaza matricea de covarianta
hist Reprezinta histograma
find Cauta elementele sau indicii elementelor care indeplinesc o anumita conditie
Exemplu Se da sirul xn = (-1)n+1/(2n-1), n este natural si n=1…200.
»n=1:200; xn=(-1).^(n+1)./(2*n-1) % genereaza primii 200 termeni din xn
»xnmax=max(xn), xnmin=min(xn) % calculeaza cel mai mare/mic element din sir
»xnmedie=mean(xn) % calculeaza media aritmetica a elementelor sirului xn
»xnsortat= sort(xn) % soerteaza in ordine crecatoare elementele lui xn
»s=sum(xn),p=prod(xn) % calculeaza suma/produsul elementelor sirului
»sc=cumsum(xn), pc=prod(xn) % calculeaza sumele/produsele partiale ale sirului
»s=sum(xn(3:72)) % calculeaza suma elementelor din sir de la pozitia 3 la pozitia 72
» x1=xn(find(xn>0)) % extrage din sir acel sir care contine elementele strict positive
»i=find(xn>=0) % genereaza un sir care contine indicii elementelor positive ale sirului
---------------------------------------------------------------------------------------------------------------
Rezolvarea ecuatiilor algebrice si transcendente
roots Calculeaza radacinile unui polinom
fzero Determina zeroul unei functii de o variabila reala
fsolve Calculeaza radacina reala a unei ecuatii
Exemplul 1: Sa se rezolve ecuatia polinomiala (1+i)*x^7+4*x^5-3*i*x^2+x+1=0
»p=[1+i 0 4 0 0 –3*i 1 1]; r=roots(p);r=r’
»f=inline('-x.^2+log(x)+4'),x=fzero(f,1)
Exemplul 2: Sa se rezolve ecuatia transcendenta -x^2+log(x)+4=0 cu solutia de start x0=2
»f=inline('-x.^2+log(x)+4'),x=fzero(f,1)
Exemplul 3. Sa se rezolve ecuatia transcendenta -x^2+log(x)+4=0 cu solutia de start x0=2
»f=inline('-x.^2+log(x)+4'),x=fsolve(f,1)
----------------------------------------------------------------------------------------------------------
Rezolvarea sistemelor liniare si nelineare
inv Calculeaza inversa unei matrice patratice nesingulare
pinv Calculeaza pseudoinversa unei matrici
rank Calculeaza rangul unei matrice
cond Estimeaza numarul de conditionare al matricei
det Calculeaza determinantul unei matrici patratice
\ Rezolva prin pivotare Gauss sistemul liniar A*X=B
fsolve Calculeaza radacinile realea pentru un sistem liniar sau nelinear
Exemplul 1. Sa se rezolve sistemul liniar
x+2*y+3*z=1
4*x+5*y+6*z=2
7*x+8*y+5*z=3
»A=[1 2 3;4 5 6;7 8 5]; B=[1 2 3]’; X=inv(A)*B
»A=[1 2 3;4 5 6;7 8 5]; B=[1 2 3]’; X=A\B
Exemplul 2. Sa se rezolve sistemul neliniar:
sin(x) + y^2 + log(z) - 7 = 0;
3*x + 2^y - z^3 + 1 = 0
x+y+z-5=0
folosind functia fsolve cu solutia de start x=1,y=1,z=1
»solutie = fsolve('f_sistem',[1 1 1]) % unde f_sistem.m este functia care descrie sistemul
function q = f_name(p)
x = p(1); y = p(2); z = p(3);
q = zeros(3,1);
q(1) = sin(x) + y.^2 + log(z) - 7;
q(2) = 3*x + 2.^y – z.^3 + 1;
q(3) = x + y + z - 5;
---------------------------------------------------------------------------------------------------------------
Polinoame in Matlab
conv Calculeaza produsul a doua polinoame
deconv Calculeaza catul si restul impartirii a doua polinoame
poly Calculeaza coeficientii unui polinom cu radacinile date
polyval Evalueaza un polinom la valorile precizate ale variabilei
polyder Calculeaza derivata polinoamelor
polyfit Aproximeaza un set de date cu un polinom degrad n
residue Descompune in fractii simple raportul a doua polinoame
roots Calculeaza radacinile unui polinom
Exemplul 1. Fie polinoamele: p1=[1 -3 5 8 0 0 1]; p2=[4 0 -2 4 3 1 -1];
»p3=p1+p2 % p3 este polinomul suma
»p4=p1-p2 % p4 este polinomul diferenta
»p5=5*p1 % p5 este polinomul 5*p1
»p6=conv(p1,p2) % p6 este polinomul produs
» [q,r]=deconv(conv(p1,p2), p1) % Impartirea polinoamului p3=p1*p2 la p1 , q=catul si r=restul
» [q1,r1]=deconv(conv(p1,p2),p2) %Impartirea polinomului p3=p1*p2 la p2, q1=catul si
r1=restul
» [rest,poli,cat]=residue(p1,p2) % rest=vectorul rest, poli=vectorul polilor, cat=vectorul catului
»p7=p1.*p2 % p7 este polinomul obtinut prin inmultirea termen cu termen
»p8=p1.\p2 % p8 este polinomul obtinut prin impartirea termen cu termen
»p9=2 .^p1 % p9 este polinomul obtinut prin ridicarea la puterea a lui 2-a lui p1
»p1deriv=polyder(p1) % p1deriv este derivata polinomului p1
----------------------------------------------------------------------------------------------------------------
Interpolarea si aproximarea datelor
table1 Interpoleaza liniar si citeste date din tabele unidimensionale
spline Interpoleaza prin metoda spline date din tabele unidimensionale
polyfit Aproximeaza un set de date cu un polinom de gradul n
polyval Evalueaza un polinom la valorile precizate ale variabilei
interp1 Interpoleaza liniar, spline sau cubic date din tabele unidimensionale
table2 Interpoleaza liniar date si citeste date din tabele bidimensionale
interp2 Interpoleaza biliniar sau bicubic date din tabele bidimensionale
interp3 Interpoleaza biarmonic valorile unei functii de doua variabile
interp4 Interpoleaza biliniar valorile unei functii de doua variabile
interp5 Interpoleaza bicubic valorile unei functii de doua variabile
regress Aproximeaza un set de date cu o functie de mai multe variabile
Exemplul 1. In urma unui experiment a rezultat urmatorul tabel de date
t(timp) 1 2 3 4 5
T(temp) 0 20 60 77 110
Sa se determine expresia analitica a curbei polinomiale care aproximeaza functia T=f(t)
»x = 1:5; y = [ 0.20 60 68 77 110];plot(x,y) % se observa ca datele sunt bine approximate de un
polinom de gradul 1
»coef = polyfit(x,y,1); y1= coef(1)*x+coef(2);
Exemplul 2. In urma unui experiment se inregistreaza datele: ora=[0 2.5 5 7.5] , temp=[1 -1 0.5 0];
se cere sa se reprezinte grafic variatia lui temp in intervalulul [0, 7.5], folosind cubic_spline de pas
0.25 . Se cere de asemenea sa se estimeze valoarea lui temp la ora=0.25
» ora=[0 2.5 5 7.5] , temp=[1 -1 0.5 0]; xi=0:0.25:7.5; yi=spline(x,y,xi);
»plot(ora,temp,'o',xi,yi)
»valoarea_ceruta0=spline(ora,temp,0.25)
-----------------------------------------------------------------------------------------
Derivarea numerica
diff Evalueaza diferenta elementelor succesive ale unui vector sau ale coloanei matricei
gradient Calculeaza derivatele partiale ale unei functii de doua variabile
4*del2 Calculeaza Laplacianul unei functii de doua variabile
Exemplul 1. Fie functia y=x^2 definita pe [2,4] cu derivata analitica y’=2*x
Sa se compare valorile derivatei obtinute cu functia Matlab, diff, cu cele obtinute prin calcul analitic direct
»x=2:0.01:4; y=x.^2 ; dx=diff(x); dy=diff(y); yprim=diff(y)./diff(x);
»yprim_analitic=2*x (x(1):length(x)); eroare=max(abs(yprim- yprim_analitic))
Exemplul 2. Sa se calculeze derivatele partiale ale functiei z(x,y)=x*exp(-x^2-y^2)
» [x,y]=meshgrid(-2:0.2:2, -2:0.2:2); z=x.*exp(-x.^2-y.^2); [px,py]=gradient(z,0.2,0.2)
Exemplul 3. Sa se calculeze valoarea aproximativa a Laplacianului pentru functia
f(x,y)=3*x^3+2*y^2 pe intervalul [-4,4] x [-4,4]
» [x,y]=meshgrid(-4:4, -4:4); f=2*x.^3+2*y.^3; L=4*del2(f)
-------------------------------------------------------------------------------------------------------------
Integrarea numerica
quad Calculeaza integrala prin metoda adaptiv-recursiva Simpson
quad8 Calculeaza integrala prin metoda adaptiv-recursiva Newton Cotes de ordinul 8
trapz Calculeaza integrala prin metoda trapezelor
4
sin( x)
Exemplul Sa se calculeze

0
x
dx prin metoda trapezelor si cu functiile quad si quad8

»eps=1/10^3; x=eps:0.01:4;f=sin(x)./x; i=trapz(x,y)


» eps=1/10^3; f=inline(‘sin(x)./x ‘), i=quad(f,eps,4)
» eps=1/10^3; f=inline(‘sin(x)./x ‘), i=quad6(f,eps,4)
Extreme locale libere pentru functii de o variabila sau mai multe variabile
fmin Calculeaza minimul functiilor de o variabila reala
fmins Calculeaza minimul functiilor de mai multe variabile reale
fmax=-(fmin(-f))
Exemplul 1. Sa se afle minimul si maximul functiei : f(x)=2*x^3-9*x^2+12*x+12
»f=inline(‘2*x.^3-9*x.^2+12*x+12’), xmin=fmin(f,0,3), fmin=f(xmin)
»f=inline(‘-2*x.^3+9*x.^2-12*x-12’), xmax=fmin(f,0,3), fmax=-f(xmax)
Exemplul 2. Sa se afle minimul functiei: z(x,y)=sin(x)*sin(y)*sin(x+y) , in intervalul [-
pi/2,pi/2], folosind valoarea de start [1 1]
»f = inline('sin(x(1)).*sin(x(2)).*sin(x(1)+x(2))'); Xmin = fmins(f,[1 1])
---------------------------------------------------------------------------------------------------------------
Rezolvarea ecuatiilor diferentiale ordinare
ode23 Rezolva ecuatii diferentiale sau sisteme de ecuatii diferentiale prin metoda Runge-Kutta de
ordinul 2/3
ode45 Rezolva ecuatii diferentiale sau sisteme de ecuatii diferentiale prin metoda Runge-Kutta de
ordinul 4/5
Exemplul 1. Sa se integreze ecuatia diferentiala y’=3*x^2 pe intervalul [2,4] cu conditia initiala
y(2)=0.5
» [x,y] = ode23(‘yprim’,[2 4], 0.5) % unde yprim.m este functia care descrie ecuatia
function dy=yprim(x,y)
dy=3*x^2;
--------------------------------------------------------------------------------------------------------------
GRAFICA 2D
plot Deseneaza graficul 2D al unei functii y=f(x) in coordonate carteziene
subplot Permite desenarea mai multor ferestre grafice pe acelasi ecran
polar Deseneaza graficul 2D al unei functii in coordinate polare
semilogx Deseneaza graficul 2D in coordinate semilogaritmice (logaritmice pe directia Ox)
semilogy Deseneaza graficul 2D in coordinate semilogaritmice (logaritmice pe directia Oy)
loglog Deseneaza graficul 2D in coordinate logaritmice (pe Ox si pe Oy)
compass Deseneaza imagini de numere complexe sub forma trigonometrica
grid Adauga graficului, o retea grid
legend Adauga pe grafic o legenda
bar Grafic cu bare 2D
clf Sterge fereastra grafica curenta
title Pune un titlu graficului
xlabel Pune o eticheta (text)pentru axa Ox
ylabel Pune o eticheta (text) pentru axa Oy
axis Setarea manuala a axelor pentru graficul curent
axes Crearea axelor in pozitii arbitrare
text Plaseaza un text pe grafic la pozitia impusa
hold Comanda inghetarea grafic curent pe ecran

Culori pentru Caractere acceptate pentru trasarea graficului


trasarea graficului . , o , x, * , +, s –patrat , d-diamond , v –triunghi cu varf in jos,
b –albastru ^ - triunghi cu varf in sus, < - triunghi cu varf instanga, > -
g –verde triunghi cu varf in dreapta, p –pentagram, h –hexagram,
k –negru - , : , -. , --
m –magenta
r –rosu
y –galben
c -cyan

Exemplul 1: Sa se reprezinte grafic functia f(x)= sin(x)+log(x)-sqrt(x)+log2(x) pe intervalul [1,10]


cu o descretizare a intervalului de pas egal cu 0.1
»x=1:0.1:10 % genereaza o diviziune a intervalului [1,10] de pas 0.01
»plot(x , sin(x)+log(x)-sqrt(x) + log2(x) ,’*’), title(‘Graficul … 2D’), …
grid,xlabel(‘Variabila independenta x pe [0,10]’), ylabel(‘Functia y= sin(x)+log(x)-
sqrt(x)+log2(x) ’)
Exemplul 2. Se reprezinta grafic functiile: f(x)=(x.^2)./(x.^3+1) si g(x)=x./(x.^2+x+1) pe [1,3]
cu pas de discretizare egal cu 0.1 (in coordinate carteziene, semilogaritmice pe Ox,
semilogaritmice pe Oy)
» x=1:0.1:3; f=(x.^2)./(x.^3+1); g=x./(x.^2+x+1);
» plot(x,f,'*',x,g,'+'),grid ,title(' f(x)=x^2/(x^3+1) , g(x)=x/(x^2+x+1)'), xlabel('X'), …
ylabel('f si g'),legend(' * ---> f(x) , + ---> g(x)')
»semilogx(x,f,'*',x,g,'+'), grid , title(' f(x)=x^2/(x^3+1) , g(x)=x/(x^2+x+1)'), ….
xlabel('log(X)'), ylabel('f si g'), ...
legend(' * ---> f(x) , + ---> g(x) in coordinate logaritmice pe directia axei X')
»semilogy(x,f,'*',x,g,'+'), grid , title(' f(x)=x^2/(x^3+1) ,g(x)=x/(x^2+x+1)'), xlabel('X'), ...
ylabel('log(f) si log( g)'), ...
legend(' * ---> f(x) , + ---> g(x) in coordinate logaritmice pe directia axei X')
Exemplul 3. Sa se reprezinte grafic functiile sin(x), log(x), sqrt(x) si log2(x) definite pe intervalul
[3,10] , in patru ferestre grafice pe acelasi ecran (se va face o discretizare a domeniului de pas egal cu
0.1
»x=3:0.1:10;
»subplot(2,2,1), plot(x , sin(x),’*’), subplot(2,2,2), plot(x , log(x),’-’), subplot(2,2,3) , …
plot(x , sqrt(x) , ’o’), subplot(2,2,4) , plot(x , log2(x),’+’)

----------------------------------------------------------------------------------------------------------------
GRAFICA 3D
meshgrid Genereaza o diviziune 2D
mesh Graficul unei suprafete in 3D
meshc Graficul unei suprafete cu contur in 3D
meshz Graficul unei suprafete cu “piedestal” in 3D
surf Deseneaza suprafete 3D colorate; graficul 3D pentru o functie de doua variabile definita parametric
surfc Deseneaza suprafete cu contur, 3D colorate
surfnorm Deseneaza suprafete 3D si normalele la ele
waterfall Produce un mesh de tip “waterfall”
plot3 Analogul in 3D pentru plot
bar3 Grafic cu bare 3D
comet3 Grafic 3D animat (effect de cometa)
cylinder Deseneaza un cilindru
sphere Deseneaza o sfera
ellipsoid Deseneaza un ellipsoid de rotatie
contour Deseneaza proiectiile intersectiilor cu plane paralele cu xOy, in planul xOy
quiver Deseneaza vectorii tangenti la o suprafata
Exemplu: Sa se reprezinte grafic hiperboloidul cu o panza de ecuatie x^2/25+y^2/9+z^2-16=0
(jumatatea pentru z<0) folosind functiile mesh si surf . Pentru a face reprezentarea grafica este necesar
ca mai intai sa se genereze o retea patratica/dreptunghiulara in planul xOy ( in acest exemplu se va folosi
un pas de discretizare egal cu 0. 1) pe intervalul [-3,3]x[-3,3] folosind functia meshgrid Sa se
personalizeze graficul folosind functiile: xlabel, ylabel,zlabel ,title . Folosind functia surfnorm sa se
reprezinte vectorii normali la suprafata. Folosind functia surfc sa se puna in evidenta liniile de acelasi
nivel ale suprafetei hiperboloidului
» [X,Y] = meshgrid([-3:.1:3],[-3:.1:3]); Z = sqrt(16 - X.^2/25 - Y.^2/9);
»mesh(X,Y,Z) , xlabel('X'), ylabel('Y'), zlabel('Z'), title(' Functia Z=sqrt(16 -x.^2/25 - y.^2/9')
»surf(X,Y,Z) , xlabel('X'), ylabel('Y'), zlabel('Z'), title(' Se foloseste functia SURF')
»surfc(X,Y,Z) , xlabel('X'), ylabel('Y'), zlabel('Z'), title(' suprafata si liniile de acelsi nivel')
---------------------------------------------------------------------------------------------------------------------