Documente Academic
Documente Profesional
Documente Cultură
Anul I, AR+ITT
1 Recapitulare
Curs 1 + Laborator 1 + Laborator 2
1.1 Operatori
1.1.1 Operatori aritmetici
Funcie echivalent
plus
uplus
minus
uminus
mtimes
mpower
power
mldivide
mrdivide
Plus
Plus unar
Minus
Minus unar
nmulire de matrice
Ridicare la putere
Ridicare la putere (matriceal)
Backslash sau mprire
matriceal la stnga
- Slash sau mprire
matriceal la dreapta
Descriere
ismember
+
+
*
^
.^
\
/
Operator
==
~=
<
>
<=
>=
Operator
Descriere
I pe bii.
Complement binary pe bii.
SAU pe bii.
Cel mai mare ntreg flotant n dubl precizie.
SAU EXCLUSIV pe bii.
Seteaz bit la poziia specificat.
Citete bit la poziia specificat.
Deplasare pe bii.
Operator
I logic
&&
SAU logic
||
I logic element cu element
&
SAU logic element cu element
|
Negaie logic (NOT)
~
SAU EXCLUSIV logic
Adevrat dac exist un element n vector diferit de zero
Adevrat dac toate elementele din vector sunt diferite de zero
Descriere
Egal
Diferit
Mai mic
Mai mare
Mai mic sau egal
Mai mare sau egal
Descriere
Descriere
1.2 Comenzi
help
more
doc
demo
format
1|Page
1.3 Variabile
ans
1.4 Constante
pi
eps
i
j
Inf
NaN
1.5 Funcii
length()
sort()
sum()
prod()
min()
max()
mean()
cumsum()
cumprod()
[6.9 9.64 sqrt(-1)] este un vector cu trei elemente separate prin spaii.
[6.9, 9.64, sqrt(-1)] reprezint acelai lucru.
Vectorii [1+i 2-i 3] i [1 +i 2 -i 3] nu sunt identici. Primul are trei elemente, iar al doilea cinci.
[11 12 13; 21 22 23] este o matrice 2x3. Caracterul (;) marcheaz sfritul primei linii.
, Virgula
Este folosit pentru a separa indicii matricelor i argumentele transmise funciilor De asemenea, delimiteaz
instruciunile n liniile cu mai multe instruciuni.
; Punct virgul
Se utilizeaz n interiorul parantezelor ptrate pentru a indica sfritul liniilor ntr-o matrice. Mai este folosit dup
o expresie sau instruciune atunci cnd se dorete suprimarea afirii rezultatului n fereastra de comenzi.
: Dou puncte
Este unul dintre cei mai utili operatori n MATLAB. Creeaz vectori, indici de tablouri i iteratori pentru ciclurile
for.
Operatorul (:) folosete urmtoarele reguli pentru crearea vectorilor cu elemente echidistante:
j:k
este la fel cu [j,j+1,...,k]
j:k
A(i,:)
A(:,:)
A(j:k)
A(:,j:k)
A(:,:,k)
A(i,j,k,:) este un vector din tabloul A cu patru dimensiuni. Vectorul include: A(i,j,k,1), A(i,j,k,2),
A(i,j,k,3) etc.
A(:)
reprezint toate elementele lui A, privite ca o singur coloan. n partea stng a unei instruciuni
de atribuire, A(:) umple tabloul A, pstrndu-i forma iniial. n acest caz, membrul drept al
instruciunii trebuie s conin acelai numr de elemente ca i A.
Exemple:
Folosirea operatorul (:) cu ntregi,
D = 1:4
genereaz
D =
1
Folosirea operatorul (:) pentru crearea unui vector cu un increment real ntre valoarea iniial i cea final,
E = 0:.1:.5
produce
E =
0
0.1000
0.2000
0.3000
0.4000
0.5000
3|Page
MATLAB suport i tablouri de valori logice. De exemplu, urmtoarea instruciune returneaz un vector de valori
logice:
>>[30 40 50 60 70] > 40
ans =
0
0
1
1
1
0
1
0
Funciile MATLAB ale cror nume ncep cu is (de exemplu ischar, issparse), returneaz valori sau tablouri
logice.
Funcie de conversie: logical()
Aciune: convertete valorile numerice n valori logice.
4|Page
Sintax:
K = logical(A)
Descriere:
K = logical(A) returneaz un tablou care poate fi folosit pentru indexare logic sau teste logice.
A(B), unde B este un tablou logic de aceleai dimensiuni cu A, returneaz valorile lui A situate la coordonatele n
care partea real a lui B este diferit de zero.
A(B), unde B este un tablou logic de dimensiuni mai mici dect A, returneaz valorile vectorului coloan A(:)
situate la coordonatele n care partea real a vectorului coloan B(:) este diferit de zero.
Observaii:
Majoritatea operaiilor aritmetice elimin caracterul logic al unui tablou. De exemplu, adunarea unei constante
zero la un tablou logic i elimin caracteristicile logice.
A = +A este cel mai simplu mod de a converti un tablou logic, A, la un tablou numeric n dubl precizie.
Tablourile logice sunt create, de asemenea, folosind operatorii relaionali (==,<,>,~, etc.) i funcii precum any,
all, isnan, isinf, sau isfinite.
Exemple:
Fiind dat matricea A = [1 2 3; 4 5 6; 7 8 9], instruciunea B = logical(eye(3)) returneaz un
tablou logic
B =
1
0
0
0
1
0
0
0
1
care poate fi folosit n indexarea logic, returnnd elementele de pe diagonala principal a lui A:
>>A(B)
ans =
1
5
9
Totui, ncercarea de a indexa matricea A folosind tabloul numeric eye(3) produce urmtoarea eroare:
>>A(eye(3))
??? Subscript indices must either be real positive integers or
logicals.
2.1.2 Clasele numerice
2.1.2.1 Clasele numerice n virgul flotant
MATLAB reprezint numerele reale n virgul flotant fie n formatul simpl precizie, fie n formatul dubl precizie.
Formatul implicit este n dubl precizie.
Simpl precizie (single)
Tab. 2.1 Standardul IEEE 754 pentru simpl precizie
Bii
Utilizare
31
Semn (0 = pozitiv, 1= negativ)
30-23
Exponent
22-0
Partea fracionar f a numrului 1.f
Domeniul de reprezentare: -3.4 x 1038 pn la 3.4 x 1038 .
Necesit mai puin memorie dect formatul n dubl precizie.
Funcie de conversie: single()
Aciune: convertete o valoare numeric spre formatul simpl precizie
5|Page
Sintax:
B = single(A)
Descriere:
Convertete matricea A spre simpl precizie, atribuind valoarea rezultat variabilei B.
Exemple:
>>a = magic(4);
>>b = single(a);
>>whos
Name
Size
a
b
4x4
4x4
Bytes
128
64
Class
double array
single array
Descriere:
Returneaz valoarea n dubl precizie a lui x.
Funcii de determinare a domeniului de reprezentare
v = realmin
v = realmin ('classname')
v = realmax
v = realmax('classname')
echivalent cu 2^(-126)
>> realmin('double')
6|Page
ans =
2.2251e-308
echivalent cu 2^(-1022).
- determinarea limitelor maxime pentru clasele n virgul flotant:
>> realmax('single')
ans =
3.4028e+038
echivalent cu 2^(127)
>> realmax('double')
ans =
1.7977e+308
echivalent cu 2^(1023).
7|Page