Documente Academic
Documente Profesional
Documente Cultură
Introducere MATLAB
numere/variabile/fisiere script
Help
HELP topics:
matlab\general - General purpose commands.
matlab\ops - Operators and special characters.
matlab\lang - Programming language constructs.
matlab\elmat-Elementary matrices and matrix
manipulation.
matlab\elfun - Elementary math functions.
matlab\specfun - Specialized math functions.
matlab\matfun - Matrix functions - numerical linear
algebra.
Help
Aceasta comanda explica cum functioneaza help-ul
• >> helpwin
Apasati pe MATLAB, apoi pe Functions, apoi pe
In Alphabetical Order'
>> doc
X=5
x=10;
y=7
Y=20.5;
Z=x+Y
Comenzi speciale
Se va scrie comanda:
(sin(pi/4)+cos(pi/4))/(sqrt(5+log(7))-1.5^0.17)
Sa se calculeze:
realmax+2 =
inf-inf =
nan+2 =
realmax-realmin =
inf/inf =
0*inf =
Calcule
De la analiza matematica se stie ca urmatoarele limite sunt
egale cu derivata functiei in x, f ' (x):
Exercitiu:
Luand f(x) =sin x sa se calculeze eroarea dintre valoarea
exacta a derivatei in pi/4 si aceste aproximari ptr h:
a) 10-6 b)10-8 c) 10-10 d) 10-12 e) 10-14
Calcule
Erorile date de:
e1=abs(cos(pi/4)-(sin(pi/4+h)-sin(pi/4))/h) respectiv
e2=abs(cos(pi/4)-(sin(pi/4+h)-sin(pi/4-h))/h/2)
>> char(97)
a
Afisarea
Sirul de caractere trebuie introdus intre ' '
s=' acesta e un text'
Afisarea mesajelor la intalnirea unei erori cu functia:
error(' mesajul meu ')
Cand error( ) e intr-un fisier*.m se intrerupe executia
Afisarea unui mesaj de avertizare, nu intrerupe executia
programului:
warning('mesaj')
Comenzile: warning on, warning off, lasterr, lastwarn
Afisarea pe ecran a unei informatii cu functia disp:
disp(' orice text')
Introducerea datelor se face cu functia input:
x= input('Introduceti valoarea lui x = ')
Fisier script
Selectati: File\Save\
In Command window dati comanda:
>>volsf % executam scriptul scriind doar numele lui
Exemplu: Script
Exercitiile din Capitolul 1 : 1, 6, 9, 13, 15, 16, 22, 23, 28, 29, 30
Capitolul 9
De citit si exercitii
Functii
Sectiunile 3.7 6.1 10.1 si 10.2
Exercitiile din Capitolul 3 : 24, 25, 29, 37
Exercitiile din Capitolul 10 : 1,2,6,7
Introducere MATLAB
function v = volsfera(r)
v= 4/3*pi*r^3;
end
Fișierele MATLAB pot conține cod pentru mai multe
funcții.
Prima funcție din fișier (funcția principală) este vizibilă
pentru funcțiile din alte fișiere sau o pute ți apela din linia
de comandă.
Funcțiile suplimentare din fișier se numesc func ții locale.
Funcțiile locale sunt vizibile numai pentru alte func ții din
același fișier. Ele sunt echivalente cu subrutinele din alte
limbaje de programare și sunt uneori numite subfunc ții.
Funcțiile locale pot apărea în orice ordine, atât timp cât
funcția principală apare mai întâi. Fiecare func ție începe
cu propria linie de definire a func ției.
Avantajele si Dezavantajele Scripturilor
Scriptul este o secventa de instructiuni si a aparut din
necesitatea reutilizarii multiple a secventei respective.
Avantaje:
utile in cazul programelor mari cu secvente de comenzi
care se repeta aleatoriu (nu sunt bucle pur si simplu) deci
utile doar programatorilor avansati;
Dezavantaje:
creeaza si modifica variabile din zona de lucru fara nici
un avertisment; variabilele din scripturi sunt globale
nu au parametrii de intrare sau de iesire;
sunt sursa unor erori greu de detectat;
nu pot fi utilizate in expresii.
Avantajele si Dezavantajele Functiilor
Avantaje:
functia comunica cu programul apelant prin cele doua
liste: listaparam-iesire si lista-param-intrare.
nu modifica datele din zona de lucru a programului
apelant.
permite organizarea structurala a programarii.
Dezavantaje:
folosirea in exces a functiilor poate duce la faramitarea
excesiva a programului pierzandu-se din claritate.
Atasarea comentariilor
Comentariile sunt precedate de semnul procent (%).
Daca se plaseaza pe primele linii, imediat sub linia de
definitie a functiei, formeaza Help-ul functiei care se
apeleaza cu comanda help nume_functie.
Help-ul functiei se considera pana la prima linie goala sau
pana la prima instructiune Matlab
Dupa ultima linie a help-ului se lasa o linie libera.
Exemplu :
function nume_functie
% Prima linie de help
% A doua linie de help ...
% Ultima linie de help
Linie libera (aceasta este obligatorie daca urmeaza un
alt comentariu care nu este de tip help)
Instructiuni MATLAB
Exercitii
gsum=∑ N
n=0
an
.
Exercitii: functii
Raspuns:
Fisierul arieper.m
function [a,p]=arieper(L,l)
% Calcul arie şi perimetru al dreptunghiului cu laturile L şi l
a=L*l;
p=2*(L+l);
end
Executarea scriptului:
>> runarieper
Exercitii: functii
Raspuns:
>> gsum=geom(0.4,10).
Functii Anonime
Anonymous functions - functiile Matlab produse de la
linia de comanda. Functie implicita, apelabila ca si o
variabila in lista de argumente intrate intr-o functie numita
function_handle @. Au forma generala:
>> x = [1 3 5]
>> y=[ 2 2 2]
>> f = @(x, y) ( x .*y)
>> f(x,y)
>> a =10
>> f = @(x, y) a*(x .*y) % a face parte din corpul fctiei
>> f(x,y)
>> a=0
>> f(x,y) % nu se schimba valoarea functiei evaluate
>> clear a
>> f % variabila a este definita in corpul functiei
Functii inline si comanda feval
Inline functions - functiile Matlab produse de la linia de
comanda folosind comanda inline:
nume_functie = inline ('expr', 'arg1', 'arg2'...)
Exemplu: >> f = inline( 'sqrt(x.^2+y.^2)', 'x', 'y' )
>> rez= f(x,y) % apelul functiei
string -sir de caractere inclus intre apostrofi- 'test 10'
Raspuns:
Functii Import/Export
.mat - MatlabWorkspace
folosim functiile load() si save()
.csv , .txt, .xls
- folosim functiile readmatrix() si writematrix(),
readtable() si writetable()
https://uk.mathworks.com/help/matlab/import_export/supported-
file-formats.html
Functiile save si load
>>x = 0:0.1:1
>> y = [exp(x)]
>>save -mat calculexp.mat x y
>>load calculexp.mat
Salvez variabilele intr-un fisier text *.txt (se poate salva doar o
variabila):
>> save -ascii calculexp.mat y
>>c= load (‘calculexp.txt’)
Exercitiile din Capitolul 1 : 1, 6, 9, 13, 15, 16, 22, 23, 28, 29, 30
Capitolul 9
De citit si exercitii
Functii
Sectiunile 3.7 6.1 10.1 si 10.2
Exercitiile din Capitolul 3 : 24, 25, 29, 37
Exercitiile din Capitolul 10 : 1,2,6,7
matrici
operatori logici si relationali
instructiuni de control
Vectori
Scrieti utmatoarele comenzi ptr a crea vectorii:
X= [1 2 3 4 5] Y=[6; 7; 8; 9; 10] size(Y) Z= Y’ size(Z)
W=[X Z] T=[ X; Z] M = [2 : 0.5 : 4]
Selectia din vector:
a=W(5) b =W(5:9) c=W(2:2:8) d= W([3 5 2 9])
Folosind operatorul : creati vectorii v1,v2,v3 si v4 :
1) 2, 4, 6, 8,...100 dar cu functia linspace()
2) 50, 48, 46,...-50
3) 1, 1/2, 1/3,...1/100
4) 0, 1/2, 2/3, 3/4...99/100
5)Folosind end (ultimul index al unui vector/matrice)
ptr un anumit vector, afisati vectorul elementelor
impare si vectorul elementelor in ordine inversa.
Ptr matricea M de la a) inversati coloanele, apoi liniile.
Vectori - Rezolvare
2)>> v2=50:-2:-50
3)>> vt=1:100; v3=1./vt
4)>> vr=0:99; vp=1:100; v4=vr./vp
5)>> v5=1:100; vi=v5(1: 2: end)
>>vinv=v5(end: -1: 1)
>> [nl,nc]=size(M) cc=M(:, nc:-1:1) ll=M(nl:-1:1, :)
Matrici
Se da matricea M = [1 2 3 4;
2 4 6 8;
-1 -2 -3 -4;
0 5 0 7]
M= 1 2 3 4 5
11 12 13 14 15
21 22 23 24 25
M= 5 5 3 4 5
5 5 13 14 15
21 22 23 24 25
Matrici- Rezolvare
Cream vectorul v :
>> v=[1 2 3 4 5]
Cream matricea M:
>> M = [v ; v+10; v+20;]
Extragerea primei linii:
>> M(1:2, 1:2) =5
Generarea matricilor cu numere aleatoare
Utilizand:
functia rand, pentru numere aleatoare, cu distributie
uniforma in intervalul (0,1) sau
functia randn, pentru numere aleatoare cu distributie
normala (Gaussiana), de medie zero si varianta unu.
functia randi pentru numere intregi intr-un anumit
interval ( ultimul parametru specificand dimensiunea)
Instructiunile pentru generarea matricelor cu numere
aleatoare au formele :
x = rand(n), y = rand(m,n), z = rand(size(A)),
v=randi([5,10] ,n) sau vv = randi([5,10], m,n)
unde m si n sunt scalari, iar A este o matrice oarecare.
>> a= magic(3)
>> aa= rand(3,4)
>> b=rand(3,5)
>> bb=rand(4,4)
>> c=[a,b]
>> d= cat(2,a,b)
>> e=horzcat(aa,b,a)
>> f=cat(1,aa,bb)
Matrici
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
-2 0 0 0 0 1
0 -2 0 0 0 0
0 0 -2 0 0 0
Matrici diagonale - Rezolvare diag(v,k)
>> D=-2*diag(ones(1,3),-3)+diag(ones(1,4),2)
Exercitiu 4
matrici
operatori logici si relationali
instructiuni de control
Exercitiu 1
Norma p a (modulul, marimea) vectorului v este :
Prin unghiul intre vectorii v si w se intelege unghiul mic
determinat de sensurile pozitive ale celor doi vectori:
Exercitiu 2
Creati matricile:
A= 1 0 -2 10 0 B= 2 0 -4 20 0
2 0 1 1 1 -10 60 -20 0 2
-1 3 2 0 0 -1 3 2 0 0
-1 2 -2 3 3 -2 6 4 0 0
Introduceti matricile A si B:
>> A=[1 0 -2 10 0; 2 0 1 1 1; -1 3 2 0 0; -1 2 -2 3 3];
>> B=[2 0 -4 20 0; -10 60 -20 0 2; 4 0 2 2 2; -2 6 4 0 0];
Elementele pozitive din A:
>> A(A>0) incercati si A>0
Elementele egale din A si B
>> A==B A(A==B)
Elementele din A din intervalul (1,20)
>> A((A>1)&(A<20))
Elementele din afara intervalului (1,20)
>> A(~((A>1)& (A<20))) sau A((A<=1)|(A>=20))
Operatori logici – Exercitiu 4
Introduceti vectorul x:
>> x = [3 15 9 12 -1 0 -12 9 6 1]
a) >> a=x;a(x>0)=33
b) >> b=x;b(~rem(x,3))=7
c) >> c=x;c(~rem(x,2))=5*c(~rem(x,2))
Operatori logici
Se da vectorul x=[6 25 1 2 -1 0 -7 50 4 9].
Determinai comanda care:
In vectorul u se afla indicii elementelor din v si h ce
verifica aceasta conditie. Evident, indicii corespunzatori
din t ne dau timpii in care conditiile sunt indeplinite.
Acesti timpi apartin unui interval dat de primul si
ultimul indice din u.
Determinm capetele acestui interval :
>> t1=t(u(1))
>> t2=t(u(end))
Solutia problemei este intervalul sol= [t1,t2]
>> sol= [0.85, 1.78]
Calculam si salvam- Exercitiu 6
polinoame
calcul simbolic
Polinoame- Exercitiul 1
Fie polinoamele:
B.
1) x=0: pi/10 :pi si y=sin(x). Sa se determine polinomul
P4[x] de gradul 4 care aproximeaza datele din
vectorii x si y.
2) Sa se compare valorile P4 [pi/2] cu valoarea exacta
sin(pi/2)
3) Sa se calculeze valoarea in pi/2 - utilizati tipuri de
interpolare
Polinoame - Rezolvare Exercitiu 2
A)
>> v=[1 2 3 -4 -5]; s=poly(v);
s (x) = x5 + 3x4 - 23x3 - 27x2 +166x -120
>>polyval(s,0)=-120 polyval(s,-7)=-4320
>>polyval(polyder(s),1)=60
>>polyval(polyder(s),-1)=144
B)
1)>> x=0:pi/10:pi; y=sin(x);
>>p4=polyfit(x,y,4);
P4 x = 0.0368x4 -0.2309x3 + 0.0485x2 + 0.9874x+ 0.0002
2) polyval(p4,pi/2)-sin(pi/2)=0.00053993<10 -3
c) >>interp1(x,y,pi/2,'nearest'); 1
>> interp1(x,y,pi/2,'linear'); 1
Calcul simbolic -Rezolvare exercitiul 1
1)>>u=sym(1);d=sym(2); t=sym(3);c=sym(5);s=sym(7)
>> (u/d+u/t)/(u/c+u/s)
>> u+u/(u+u/(u+u/(u+u/d)))
2) >> x=sym( 'x'); collect((x-2)^3*(x+1)^2) sau
>> expand((x-2)^3*(x+1)^2)
3) >>a=sym( 'a'); [sus,jos]=numden(a/(1-1/a)+
(1-1/a)/(1/(1-a))+ (1/(1-a))/a)
>>simplify(sus/jos)
Calcul simbolic -Exercitiul 2
1) Sa se calculeze limitele:
1) syms x t a
>>limit((sqrt(x+1)-1)/((x+1)^(1/3)-1))
>> limit((x^3-1)/(x^3+1),x,-inf,'right')
>> limit(((x-1)/(x+1))^x,x,inf,'left')
2) >> diff(2*x*sin(x)-(x^2-2)*cos(x))
3) >> int(x^2*exp(x^3))
4) >> solve(x^3+2*a*x^2-a^2*x-2*a^3)
Rezolvarea sistemelor de ecuatii liniare -Exercitiul 1
5x1+4x2+x3=0
6x1+3x2+2x3=5
x1+x2+x3=-7
Sisteme de ecuatii liniare -Rezolvare exercitiul 1
Se creaza fisierul rez1.m:
>> edit rez1.m
Se creaza matricea coeficientilor:
A=[5 4 1; 6 3 2; 1 1 1];
Rezolvarea sistemului
if det(A)~=0 % daca sistemul este compatibil determinat
b=[0; 5; -7]; % vectorul-coloana al termenilor liberi
X=inv(A)*b
else
disp('Sistemul nu este compatibil determinat.')
end
In urma executiei se obtine:
x1 = 6.25 , x2 = -6 , x3 = –7.25
Rezolvarea sistemelor de ecuatii liniare -Exercitiul 2
2x1-3x2=7
-6x1+8x2-x3=-5
3x2+4x3=1
Sisteme de ecuatii liniare -Rezolvare exercitiul 2
Se creaza fisierul rez2.m:
>> edit rez2.m
Se creaza matricea coeficientilor:
A=[2 -3 0; -6 8 -1; 0 3 4];
Rezolvarea sistemului
if det(A)~=0
b=[7; -5 ;1]'; % vectorul-coloana al termenilor liberi
X=A\b
else
disp('Sistemul nu este compatibil determinat.')
end
In urma executiei se obtine:
x1 = -94 , x2 = -65 , x3 = 49.
Rezolvarea sistemelor de ecuatii liniare -Exercitiul 3
3x-y+z-2t=6
-4x+4y+2z+t=0
Sisteme de ecuatii liniare -Rezolvare exercitiul 3
Se creaza fisierul rez3.m:
>> edit rez3.m
Se creaza matricea coeficientilor si vectorul coloana al
termenilor liberi:
A=[3 -1 1 -2; -4 4 2 1];
b=[6; 0];
Rezolvarea sistemului
if rank(A)==rank([A b])
disp('metoda pseudo-inversarii')
X=pinv(A)*b
disp('metoda impartirii la stanga')
X=A\b
else
disp('Sistemul nu este compatibil.')
end
Sisteme de ecuatii liniare -Rezolvare exercitiul 3
In urma executiei se obtin rezultatele:
metoda pseudo-inversarii
X=
0.9431
0.5418
1.3846
-1.1639
metoda impartirii la stanga
X=
1.2000
0
2.4000
0
Rezolvarea sistemelor de ecuatii liniare -Exercitiul 3
Observatii:
1. Pentru testarea compatibilitatii s-a folosit teorema lui
Kronecker-Capelli. Matricea extinsa s-a obtinut in
Matlab prin concatenarea matricei A cu vectorul-
coloana b.
2. Daca sistemul era compatibil determinat se obtineau,
solutii identice prin utilizarea celor doua metode.
Sistemul este compatibil nedeterminat, prin utilizarea
celor doua metode s-au obtinut doua solutii particulare
distincte.
3. Sistemul de ecuatii liniare din exemplul 3 este un
sistem subdeterminat. El poate fi rezolvat doar pe cale
simbolica. Acest sistem nu poate fi rezolvat complet pe
cale numerica - rezultate diferite, care corespund unor
valori particulare ale solutiei.
Sisteme de ecuatii liniare -Rezolvare exercitiul 4
>> clc % clear command window
Se creaza matricea coeficientilor si se determina
rangul matricei sistemului
A=[3 -1 1 -2; -4 4 2 1];
r=rank(A);
% se obtine 2, prin urmare, 2 variabile sunt
independente, si 2 variabile sunt dependente de primele
Se cauta un minor de ordinul 2 nenul, pentru a stabili
variabilele dependente
rminor=rank(A(:,[1 2]))
% se obtine 2; x,y devin variabilele dependente, in
raport cu care se rezolva sistemul rescris sub forma:
3x-y=6-z+2t; -4x+4y=-2z-t;
disp('sistemul este compatibil nedeterminat')
Sisteme de ecuatii liniare -Rezolvare exercitiul 4
Se rezolva sistemul de mai sus
syms z t;
Aredus=A(:,[1 2])
bredus=[6-z+2*t; -2*z-t];
Rezolvarea sistemului cu metoda inversarii
s=inv(Aredus)*bredus
Rezolvarea sist. cu operatorul de impartire la stanga
ss=Aredus\bredus
disp(blanks(1)') %creeaza spatii intre şirurile de
caratere.
pause % oprirea momentana a executiei
disp('Solutia sistemului dat este:')
x=s(1)
y=s(2)
disp('z,t numere reale oarecare')
Sisteme de ecuatii liniare -Rezolvare exercitiul 4
Se obtin rezultatele:
r =2 rminor =2
sistemul este compatibil nedeterminat
s=
3-3/4*z+7/8*t
3-5/4*z+5/8*t
ss =
3-3/4*z+7/8*t
3-5/4*z+5/8*t
Solutia sistemului dat este:
x=
3-3/4*z+7/8*t
y=
3-5/4*z+5/8*t
z,t numere reale oarecare
Rezolvarea sistemelor de ecuatii liniare -Exercitiul 5
Calcul numeric-grafica-aplicatii M. Ghinea, V Fireteanu.
Mathlab. Ed. Teora 2001
http://www.mathworks.com/help/pdf_doc/matlab/getstart.
pdf
http://www.mathworks.com/academia/student_center/tutor
ials/
launchpad.html
Laborator 3B
MATLAB
reprezentari grafice
Functii - Exercitiu 1
a) Folosind functia fplot, sa se reprezinte graficul functiei
f(x)=xsin(x) pe intervalul [-pi,pi].
b)Se da functia:f(x)=(x4-5x2+4)/(x6+4). Sa se reprezinte
grafic, sa se determine minimumul functiei pe intervalul
[-3, 0] si maximumul pe intervalul [-1,1];
c) Sa se calculeze pentru f(x) de la pct a):
a)>> f= inline('x.*sin(x)');
% sau f =@(x)(x.*sin(x))
>>fplot(f,[-pi pi],'r')
b)>> fminbnd(inline('(x.^4-5*x.^2+4)./(x.^6+4)'),-3,0)
ans = - 1.3072
>>fminbnd(inline('-(x.^4-5*x.^2+4)./(x.^6+4)'),-1,1)
ans =1
c)>> quad(inline('x.*sin(x)'),-1,1)
ans=0.6023
d)>>dblquad(inline('x.^2./(y.^2+1)'),0,1,0,1)
ans= 0.2618
Functii - Exercitiul 2
a) Sa se rezolve ecuatia:
x2sqrt( x2 + 3) + xln (x2 +1)- 2 - ln 2 = 0 , x=0.5;
a) >> fzero(inline('x.^2.*sqrt(x.^2+3)+x.*log(x.^2+1)-2-
log(2)'),0.5);
ans=1
b)>> g=inline('(x-1).*exp(x).*sin(x)+x.^3-x');
>> fplot(g, [-2,2],'b');
>>fzero(inline('(x-1).*exp(x).*sin(x)+x.^3-x'),-1);
ans=-1.2255
>> fzero(inline('(x-1).*exp(x).*sin(x)+x.^3-x'),0.1)
ans= 0
>>fzero(inline('(x-1).*exp(x).*sin(x)+x.^3-x'),0.9)
ans= 1
Reprezentari grafice 2D – functia ezplot, ezpolar
Tipul de linie poate fi unul din simbolorile:
- continua (implicit) , -- intrerupta, : puncte, -. linie-punct
Tipul marker-ului:
+ ( semnul +), o (cerc), * (asterisc), . (punct), x (cruce),
s (patrat), d (romb), p (pentagon), h (hexagon), ^ (triunghi
cu un varf in sus), v (triunghi cu un varf in jos), > (triunghi
cu un varf la dreapta), < (triunghi cu un varf la stanga)
Culorile pot fi urmatoarele simboluri:
r (rosu), g (verde), b (albastru), c (bleu), m (mov),
y (galben), k (negru), w (alb).
Reprezentari grafice in spatiu- 3D
In Matlab pot fi reprezentate grafic in spatiul 3D: curbe, suprafete
si corpuri 3-dimensionale. O parte din functiile Matlab destinate
reprezentarilor grafice 3D:
plot3(x,y,z, speclinie) - reprezentarea liniilor in spatiu, x,y,z sunt
vectorii ce definesc punctele de reprezentat, iar speclinie este un sir
de caractere intre ` ` reprezentand tipul liniei ce uneste punctele
definite de x si y, markerul cu care se reprezinta punctele definite de
x si y si culoarea liniei, toate in aceasta ordine.
mesh(x,y,z,c) - reprezentarea grafica a suprafetelor 3D sub forma
unei retele (“mesh”)
surf(x,y,z), surfl(x,y,z,s) - reprezentarea grafica a suprafetelor
pline, cu iluminare
contour(x,y,z) , contourf(x,y,z,v) – reprezentarea grafica doar a
liniilor de contur
fill3 - reprezentarea grafica spatiala a poliedrelor
cylinder (y,n), sphere(n), ellipsoid(xc,yc,zc,rx,ry,rz) -
reprezentarea grafica a unor corpuri tridimensionale
Functii auxiliare pentru reprezentari grafice
Cateva functii auxiliare ce pot controla proprietatile modului de
reprezentare:
title - inserarea unui titlu pentru reprezentarea grafica
axes, axis - controlul aparitiei si stabilirea lungimii unitatilor de
reprezentare pe axele sistemului de coordonate
xlabel, ylabel, zlabel - inserarea etichetelor axelor sistemului de
coordonate
text, gtext - plasarea unui text pe grafic la o anumita pozitie, sau
selectata cu mouse-ul.
hold- pastrarea graficului curent si al proprietatilor sale
subplot - impartirea ferestrei de reprezentare grafica in mai multe
regiuni grafice.
grid - suprapunerea unei retele de linii pe grafic
meshgrid -definirea sub forma de retea de puncte a domeniului de
reprezentare 3D a suprafetelor.
colormap - stabilirea sau returnarea matricei de culoare
shading- stabilirea modului de umbrire pentru suprafetele 3D
Reprezentari grafice 2D – Observatii
1) Pentru reprezentarea grafica a functiilor in Matlab este necesar
ca domeniul de reprezentare sa fie definit prin puncte. Distanta
dintre orice doua puncte consecutive ale graficului trebuie sa fie
suficient de mica pentru ca reprezentarea grafica sa fie corecta.
O distanta prea mica necesita mai mult timp de calcul !
y1=e-0.4x cos(8x) si
2 x<6
y(x) = x-4 6 <= x < 20
36-x 20 <= x <= 35
Definim timpul t:
>>t=0:0.1:10;
Definim funcia x(t):
>> x=sin(t);
Punem valoarea 0 în locul valorilor negative ale lui x:
>> x=x.*(x>0);
Facem graficul si punem etichetele:
>> plot(t,x)
>> axis([0 10 -0.1 1.1])
>> xlabel('Timpul [s]')
>> ylabel('Amplitudinea')
>> title('Semnal sinusoidal discontinuu').
Reprezentari grafice 2D– functia legend
Adaugarea unei legende la un grafic se face prin comanda
legend.
Cea mai comoda si comuna apelare este data in exemplu:
>>x = 0:.2:12;
>>plot(x,besselj(1,x),x,besselj(2,x),x,besselj(3,x));
>>legend('First','Second','Third',-1);
>> grafic_log(f,1,10)
Scrieti secventa:
>>subplot(3,1,1),bar(rand(10,5),'stacked'),colormap(cool)
>>subplot(3,1,2), barh(0:.25:1,rand(5),1)
>>subplot(3,1,3), bar(rand(2,3),.75,'grouped')
x=ln(t2+2),
y=t*sin(t),
Sa se reprezinte grafic:
>> x=0:0.2:2;
>> y=x-3;
>>cylinder(y,8)
>> ezsurf('(1-s)*(3+cos(t))*cos(4*pi*s)', …
'(1-s)*(3+cos(t))*sin(4*pi*s)', ...
'3*s + (1 - s)*sin(t)', [0,2*pi/3,0,12] );
>>ezsurfc('(s-sin(s))*cos(t)','(1-cos(s))*sin(t)','s',...
[-2*pi,2*pi]);
De citit si exercitii !