Post on 09-Sep-2019
transcript
3. Functii matematice uzuale3.1. Functii de aproximare a numerelor
sign(-5.2) → -1sign(5.2) → +1sign(0) → 0
Returnează semnul argumentului sign
rats(5.2) → 26/5Returnează aproximarea unui număr cu fractii rationalerats
rat(5.2) → 5 + 1/(5)Returnează aproximarea unui număr cu fractii rationale continue rat
mod(-5,2) → 1Returnează modulul restului împărtirii argumentelormod
rem(-5,2) → -1Returnează restul împărtirii argumentelor rem
round(3.2) → 3Returnează un număr întreg rotunjit la cel mai apropiat număr întreg
round
floor(3.2) → 3Returnează un număr întreg rotunjit la cel mai apropiat număr întreg spre –infinit
floor
fix(-3.2) → -3Returnează un număr întreg rotunjit la cel mai apropiat număr întreg spre zero
fix
ceil(3.2) → 4Returnează un număr întreg rotunjit la cel mai apropiat număr întreg spre +infinit
ceil
ExempluDescriereFunctia
3.1. Functii de aproximare a numerelor - exemple
>> ceil(3.2)
ans =
4
>> fix(-3.2)
ans =
-3
>> floor(3.8)
ans =
3
>> round(3.2)
ans =
3
>> round(3.8)
ans =4
>> ceil(3.7)
ans =
4
>> fix(-3.8)
ans =-3
>> floor(3.2)
ans =
3
3.1. Functii de aproximare a numerelor - exemple
>> rem(14, 3)
ans =
2
>> rem(-5, 2)
ans =
-1
>> mod(-5, 2)
ans =
1ans =
0
>> rem(14, 7) -5 = 2*(-2) -1
-5 = 2*(-2) -1
14 = 7*2 + 0
14 = 3*4 + 2
3.2. Functii de operare cu numere complexe
isreal([2 3]) → 1Determină dacă elementele matricelor sau vectorilor sunt numere reale
isreal
complex(2,3) → 2+3iConstruieste numere complexe dacă se cunosc părtile reală si imaginară
complex
real(3+i) → 3Calculează partea reală a numerelor complexereal
imag(1+3i) → 3Calculează partea imaginară a numerelor complexeimag
conj(1+i) → 1-iCalculează conjugata complexă a numerelor complexeconj
unwrap(1+i) → 1+iCalculează părtile reală si imaginară a numerelor complexe exprimate sub formă polară
unwrap
angle(1+i) → 0.7854Calculează faza numerelor complexeangle
abs(3+4i) → 5Calculează (valoarea absolută) modulul numerelor complexeabs
ExempluDescriereFunctia
3.2. Functii de operare cu numere complexe - exemple
>> abs(3 + 4i)
ans =
5
>> conj(5 + 2i)
ans =5.0000 - 2.0000i
>> V = [1 2+i 3 4 ];>> isreal(V)
ans =
0
ans =
0.7854
>> angle(1 + i)
1+i = sqrt(2).[cos(π/4) + i.sin(π/4)]
5 = sqrt(32 + 42)
Pentru ordinea operatiilor( )
Transpusa complex conjugată’
Ridicarea la putere^
Împărtire la stânga\
Împărtire/
Înmultire*
Scădere-
Adunare+
OperatieOperator
Operatii vectori si matrice ce contin numere complexe
3.3. Functiile putere, radical, logaritm si exponentiala
realsqrt(16) → 4Calculează radicalul de ordinul 2 al numerelor pozitiverealsqrt
realpow(2,3) → 8Calculează puterea numerelor pozitiverealpow
reallog(9) → 2.1972Calculează logaritmul natural pentru numere pozitivereallog
sqrt(36) → 6Calculează radicalul de ordinul 2 al numerelorsqrt
pow2(5) → 32Calculează puterea lui 2pow2
nextpow2(15) → 4Calculează puterea N a lui 2 care majorează modulul lui 2Nnextpow2
log10(100) → 2Calculează logaritmul în baza 10log10
log2(4) → 2Calculează logaritmul în baza 2log2
log(7.3891) → 2Calculează logaritmul natural log
exp(2) → 7.3891Calculează exponentiala exp
mpower(2,2) → 4Ridicare la putere a matricelor mpower
power(2,2) → 4Ridicare la putere a numerelor sau matricelor element cu element
power
2^2 → 4Ridicare la putere a numerelor sau matricelor ^
ExempluDescriereFunctia
3.3. Functiile putere, radical, logaritm si exponentiala - exemple
>> 10^3
ans =
1000
>> log2(16)
ans =4
>> sqrt(16)
ans =
4
>> 10^(-3)
ans =
1.0000e-003
>> log10(1000)
ans =
3
>> sqrt(-16)
ans =0 + 4.0000i
103
10-3 = 0.001
>> exp(3)
ans =
20.0855
>> log(20.0855 )
ans =3
e3
ln(e3) = 3
3.4. Functii trigonometrice
atanh(2) →0.5493 + 1.5708i
Calculează arctangenta hiperbolică a argumentului atanh
tanh(2+2i) →1.0238 - 0.0284i
Calculează tangenta hiperbolica a argumentului tanh
atan(1) → 0.7854Calculează arctangenta argumentului atan
tan(pi/4) → 1Calculează tangenta argumentului tan
acosh(2) → 1.3170Calculează arcosinusul hiperbolic al argumentului acosh
cosh(2+2i) →-1.5656 + 3.2979i
Calculează cosinusul hiperbolic al argumentuluicosh
acos(-1) → 3.1416Calculează arcosinusul argumentului acos
cos(pi) → -1Calculează cosinusul argumentului cos
asinh(2) → 1.4436Calculează arcsinusul hiperbolic al argumentului asinh
sinh(2+2i) →-1.5093 + 3.4210i
Calculează sinusul hiperbolic al argumentuluisinh
asin(1) → 1.5708Calculează arcsinusul argumentului asin
sin(pi/2) → 1Calculează sinusul argumentului sin
ExempluDescriereFunctia
3.4. Functii trigonometrice - continuare
acsch(2) → 0.4812Calculează arccosecanta hiperbolică a argumentului acsch
csch(2+2i) →-0.1080 - 0.2447i
Calculează cosecanta hiperbolică a argumentului csch
acsc(1) → 1.5708Calculează arccosecanta argumentului acsc
csc(pi/2) → 1Calculează cosecanta argumentului csc
asech(2) → 1.0472iCalculează arcsecanta hiperbolică a argumentului asech
sech(2+2i) →-0.1175 - 0.2475i
Calculează secanta hiperbolică a argumentului sech
asec(-1) → 3.1416Calculează arcsecanta argumentului asec
sec(pi) → -1Calculează secanta argumentului sec
acoth(2) → 0.5493Calculează arcotangenta hiperbolică a argumentului acoth
coth(2+2i) →0.9760 + 0.0271i
Calculează cotangenta hiperbolică a argumentului coth
acot(1) → 0.7854Calculează arcotangenta argumentului acot
cot(pi/4) → 1Calculează cotangenta argumentului cot
3.4. Functii trigonometrice - exemple
>> sin(90)
ans =
0.8940
>> atan(inf)
ans =
1.5708
>> sin(pi/2)
ans =
1
>> asin(1)
ans =
1.5708
>> tan(pi/2 )
ans =
1.6332e+016
pi/2
tg(pi/2)= ∞
pi/2
3.5. Functii de matematica discreta
perms([2, 3]) → 3 2
2 3
Calculează toate permutările posibile perms
nchoosek(3, 2) → 3Calculează combinări de n luate câte knchoosek
isprime([4 5 7]) → 0 1 1Determină dacă elementele unui vector sau matrice sunt numere prime
isprime
primes(7) → 2 3 5 7Întoarce un vector ce contine numerele prime mai mici decât nprimes
lcm(115, 35) → 805Calculează cel mai mic multiplu comun a două numere lcm
gcd(115, 35) → 5Calculează cel mai mare divizor comun a două numeregcd
factorial(4) → 24Calculează factorialul unui număr nfactorial
factor(39) → 3 13Întoarce un vector ce contine factorii primii ai unui număr nfactor
ExempluDescriereFunctia
3.5. Functii de matematica discreta - exemple
>> gcd(60, 15)
ans =
15
>> lcm(10, 15)
ans =
30
4. Functii MATLAB de interes general4.1. Despre variabile si constante
NotiuniNotiuni utile:utile:
-Variabilele nu necesita instructiuni de declaratie sau dimensionare
-Cand intalneste un nume nou de variabila MATLAB o creaza automat si ii
aloca spatiul de memorie necesar
-Daca o variabila deja exista MATLAB ii schimba continutul si o
redimensioneaza daca e cazul
-Numele variabilelor incep cu o litera
-MATLAB este “case sensitive” (a ≠ A)
4.1. Despre variabile si constante - exemple
Not a numberNaN
InfinitInf
Cel mai mare număr în virgulă mobilă (2-eps)21023realmax
Cel mai mic număr în virgulă mobilă 2-1022realmin
Precizia relativă în virgulă mobilă 2-52eps
sqrt(-1)j
sqrt(-1)i
3.14159265...pi
4.2. Introducerea functiilor si comenzilor
NotiuniNotiuni utile:utile:
-MATLAB ruleaza doar un proces (functie, comanda, program) simultan
-Pentru a intrerupe un proces se folosesc tastele Ctrl+Break sau Ctrl+C
-Pentru a lansa mai multe functii pe aceeasi linie de comanda acestea se
separa cu “,” sau “;” si sunt urmate de Enter
>> x = pi/2, y = sin(x); z = log(abs(y)+10)
-Intructiunile prea lungi se pot scrie pe mai multe linii. La sfarsitul unei
linii se foloseste “…”
>> x = 1/3 + 3*sin(pi/13) + …
cos(pi/22) + asin(0.34)
4.2. Introducerea functiilor si comenzilor - continuare
NotiuniNotiuni utile:utile:
-Instructiunile utilizate anterior pot fi reapelate folosind tastele “↑” si “↓”
-Continutul ferestrei Command Window se sterge cu comanda “clc” sau “home”
-Formatul numeric in Command Window este controlat de functia “format”
>> format short
>> x = 4/3
x =
1.3333
>>format short e
>> x = 4/3
x =
1.3333e+000
4.2. Introducerea functiilor si comenzilor - continuare
NotiuniNotiuni utile:utile:
>> format long
>> x = 4/3
x =
1.33333333333333
>>format long e
>> x = 4/3
x =
1.33333333333333e+000
>> format loose (afiseaza liniile vide)
>> x = 4/3
x =
1.33333333333333e+000
>> format compact (suprima liniile vide)
>> x = 4/3
x =
1.33333333333333e+000
4.3. Inregistrarea unei sesiuni de lucru
NotiuniNotiuni utile:utile:
Comanda “diary” permite inregistrarea intr-un fisier pe disc a uneisesiuni de lucru
>> diary(‘mai_02.out’);
>> x = 1/3
x =
0.3333
>>y = x^2
y =
0.1111
>> diary off
x = 1/3
x =
0.3333
y = x^2
y =
0.1111
diary off
mai_02.out
4.4. Utilizarea functiei Help
Afisează în Command Window o listă si o scurtă descriere pentru toate functiile a căror scurtă descriere include cuvântul cheie specificat
lookfor
Afisează în fereastra Help o listă a tuturor functiilor ce permit acces la M-file helphelpwin
Deschide fereastra Help helpbrowser, helpdesk
Afisează M-file help în Command Window pentru functia specificatăhelp
Afisează pagina de referintă pentru functia specificată în fereastra Help, furnizând informatii despre sintaxă, descriere, exemple si link-uri la functii similare
doc
DescriereFunctia
4.4. Utilizarea functiei Help - exemple
>> help trace
TRACE Sum of diagonal elements.
TRACE(A) is the sum of the diagnonal elements of A, which is
also the sum of the eigenvalues of A.
>> lookfor sqrt
SQRT Square root.
SQRTM Matrix square root.
4.5. Spatiul de lucru MATLAB (MATLAB Workspace)
NotiuniNotiuni utile:utile:
- MATLAB Workspace contine ansambul variabilelor utilizate intr-o sesiune de lucru
- Lista variabilelor existente se afiseaza folosind comenzile ”who” si “whos”:
>> clear
>> a = 3; b = 2;
>> who
Your variables are:
a b
>> whos
Name Size Elements Bytes Density Complex
a 1 by 1 1 8 Full No
b 1 by 1 1 8 Full No
Grand total is 2 elements using 16 bytes
4.5. Spatiul de lucru MATLAB - continuare
NotiuniNotiuni utile:utile:
-Comanda “exist” testeaza daca o anumita variabila exista in MATLAB Workspace
>> exist(‘a’)
ans =
1
-Variabilele se sterg cu comanda “clear”
>> clear a (sterge variabila a)
>> clear (sterge toate variabilele)
4.6. Operatii cu fisiere
Execută comezi ale sistemului de operare!
Sterge fisiere din directorul curent sau obiecte graficedelete
Listează fisierele si subdirectoarele din directorul curentdir, ls
Afisează directorul curent pwd
Schimbă directorul curentcd
DestinatiaFunctia
4.6. Operatii cu fisiere - exemple
Schimbarea directorului de lucru
>> cd C:/111A
ans =
C:\111A
Afisarea continutului directorului de lucru
>> dir
. .. algoritm1.m mai_02.out
Stergerea fisierelor din directorul de lucru
>> delete mai_02.out
Afisarea continutului directorului de lucru
>> ls
. .. algoritm1.m
4.7. Functii de manipulare a datei si orei
Afisează timpul scurs între cele două comenzitic, toc
Afisează timpul scurs în secunde etime
Afiseaza CPU time în secunde de când a fost lansat MATLAB cputime
Afisează calendarul lunii curentecalendar
Indică data curentă ca sir de caractere de tip datădate
Indică data curentă si ora ca vector de tip datăclock
DescriereFunctie
4.7. Functii de manipulare a datei si orei - exemple
>> date
ans =
7 – Mar – 6
>> tic, A = rand(100, 100); toc
elapsed_time =
0.0600
5. Reprezentarea graficelor5.1. Reprezentarea graficelor 2D
TrasareTrasarex = 0:pi/100:2*pi;
y = sin(x);
plot(x, y);
5.1. Reprezentarea graficelor 2D - continuare
EtichetareEtichetarexlabel('x = 0:2.pi');
ylabel('sin( x)');
title('Graficul funcţiei sinus','FontSize',15);
grid on;
5.2. Functii de reprezentare grafica 2D
Grafice 2D, de reprezentare a poligoanelorfill
Grafice 2D, reprezentare cu ariiarea
Grafice 2D, reprezentare în scarăstairs
Grafice 2D, reprezentare cu bare orizontalebarh
Grafice 2D, reprezentare cu bare bar
Grafice 2D pentru seturi de date discrete stem
Grafice cu etichetare pe partea dreaptă si stângă plotyy
Grafice 2D cu scară logaritmică pe axa Y si scară liniară pe axa Xsemilogy
Grafice 2D cu scară logaritmică pe axa X si scară liniară pe axa Ysemilogx
Grafice 2D cu scară logaritmică pe ambele axe X si Yloglog
Grafice 2D cu scară liniară pe ambele axe X si Yplot
DestinatiaFunctia
5.2. Functii de reprezentare grafica 2D - exemple
TrasareTrasarex = 0:pi/20:2*pi;
y = sin(x);
stem(x, y);
5.2. Functii de reprezentare grafica 2D - exemple
TrasareTrasarex = 0:pi/20:2*pi;
y = sin(x);
bar(x, y);
5.2. Functii de reprezentare grafica 2D - exemple
TrasareTrasarex = 0:pi/20:2*pi;
y = sin(x);
stairs(x, y);
5.3. Reprezentarea graficelor 3D5.3.1. Reprezentarea suprafetelor
Creare de obiecte tip suprafatăsurface
Trasare de suprafete luminate dintr-o anumită directiesurfl
Trasare de suprafete în plan (valoare proportională cu culoarea)pcolor
Trasare de suprafete cu perdea verticalămeshz
Trasare de suprafete cu contur dedesubtmeshc, surfc
Trasare de suprafete mesh, surf
ActiuneFunctia
5.3.1. Reprezentarea suprafetelor - exemple
TrasareTrasare[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
mesh(X, Y, Z);
5.3.1. Reprezentarea suprafetelor - exemple
TrasareTrasare[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
surf(X, Y, Z);
5.3.1. Reprezentarea suprafetelor - exemple
TrasareTrasare[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
meshc(X, Y, Z);
5.3.1. Reprezentarea suprafetelor - exemple
TrasareTrasare[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
surfc(X, Y, Z);
5.3.1. Reprezentarea suprafetelor - exemple
TrasareTrasare[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
meshz(X, Y, Z);
5.3.1. Reprezentarea suprafetelor - exemple
TrasareTrasare[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
pcolor(X, Y, Z);
5.3.1. Reprezentarea suprafetelor - exemple
TrasareTrasare[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
surfl(X, Y, Z);
5.4. Configurarea si salvarea graficelor5.4.1. Ferestre de tip figure
InformatiiInformatii utileutile-MATLAB traseaza grafice in
ferestre de tip figure-Daca exista mai multe ferestre
figure graficul curent este
afisat in fereastra figure activa
-Daca nu exista nici o fereastra
figure deschisa MATLAB
creaza automat una in
momentul afisarii unui grafic
5.4.2. Reprezentări multiple în acelaşi sistem de coordonate
TrasareTrasarex = 0:pi/100:2*pi;y1 = sin(x);
y2 = sin(x-.25);
plot(x, y1, x, y2)legend('sin(x)', 'sin(x-.25)')
5.4.3. Adăugarea unor curbe la grafice existente
TrasareTrasare[x, y, z] = peaks;pcolor(x, y, z);
shading interp;
hold on;contour(x, y, z, 20, 'k');
hold off;
5.4.4. Reprezentări grafice multiple pe o figură
TrasareTrasare[X,Y,Z] = peaks;subplot(2, 2, 1); mesh(X);
subplot(2, 2, 2); mesh(Y);
subplot(2, 2, 3); mesh(Z);subplot(2, 2, 4); mesh(X, Y, Z);
5.4.5. Specificarea tipului de linie şi culoarea
TrasareTrasarex = 0:pi/100:2*pi;y = sin(x);
plot(x, y, 'y+')
y yellow . point
m magenta o circle
c cyan x x-mark
r red + plus
g green - solid
b blue * starw white : dotted
k black -. dashdot
-- dashed
5.4.6. Controlul axelor
SetareaSetarea limitelorlimitelor axeloraxeloraxis([xmin xmax ymin ymax])
SetareaSetarea aspectuluiaspectului axeloraxelor
axis squareaxis equal
axis auto normal
Setarea vizibilitSetarea vizibilităăţţii axelorii axelor
axis on
axis off
5.4.7. Setarea gridului
SetareaSetarea limitelorlimitelor axeloraxelorgrid ongrid off
5.4.8. Etichetarea axelor şi a titlului
t = -pi:pi/100:pi;y = sin(t);
plot(t, y)
axis([-pi pi -1 1])
xlabel('-pi < t < pi')ylabel('sin(t)')
title('Graficul functiei sinus')
text(1,-1/3,'Functia sinus')