MCIMLucrarea 15 |
Prelucrarea datelor si calculule statistice |
În acest capitol sunt prezentate urmatoarele functii MATLAB pentru prelucrarea datelor si calculule statistice:
-cumsum Calculeaza suma cumulata;
-cumprod Calculeaza produsul cumulat;
-corcoef Calculeaza coeficientii de corelatie;
-cov Calculeaza matricea de covarianta;
-diff Calculeaza diferentele dintre numere succesive;
-hist Reprezinta histogram&# 23223l118x 259;;
-max Determina cea mai mare componenta;
-min Determina cea mai mica componenta;
-mean Calculeaza valoarea medie;
-median Calculeaza valoarea mediana;
-prod Calculeaza produsul;
-sort Sorteaza elementele în ordine crescatoare;
-std Calculeaza abaterea standard;
-sum Calculeaza suma;
-trapz Calculeaza integrala folosind metoda trapezelor;
.Maximul si minimul
Functiile max si min determina maximul si minimul valorilor unui vector sau matrice; se apeleaza cu una dintre sintaxele:
M = max (X) m = min (X)
Determinarea elementelor maxime (minime ) ale unui vector, precum si a indicelui (pozitiei ) acestora,se face prin apelarea acestora functii cu una dintre sintaxele:
[M,I] = max (X) [m,l] = min (X)
Pentru a crea o matrice C care contine elementele maxime (minime ) din doua matrice A si B, de aceeasi dimensiune, se foloseste sintaxa:
C = max (A,B) C = min (A,B)
Exemplul 1.1. Sa se determine valorile maxime si minime ale unui vector si ale unei matrice.
Cu secventa MATLAB:
V = [1 3 -9 0 ];
M = [1 2 3; - 4 0 9; 13 7 - 10];
A = max ( V )
B = min ( V )
C = max ( M )
D = min ( M )
[Y,I ] = max ( M )
se obtine rezultatele:
A =3 B = - 9
C = [ 13 7 9 ] D = [- 4 0 - 10 ]
Y = [ 13 7 9 ] I = [ 3 3 2 ]
2.Media si mediana
Media aritmetica a unui set de date se calculeaza cu relatia:
m ==
Functia mean se apeleaza cu sintaxa:
m = mean ( X )
Mediana este elementul de la mijlocul unui set de date ordonat crescator. Daca numarul N al valorilor setului este impar, valoarea mediana este cea din pozitia ( N +1 )/2, iar daca acesta este par, valoarea mediana este media elementelor din pozitiile (N/2) si (N/2)+1, adica:
Functia median se apeleaza cu sintaxa:
M = median (X)
3.Sume si produse
Pentru calculul sumei elementelor unui vector:
s =
se foloseste functia sum care se apeleaza cu sintaxa:
Y = sum (X)
Pentru calculul produsului elementelor unui vector:
p =
se foloseste functia prod care se apeleaza cu sintaxa:
Y = prod ( X )
Prin suma cumulata a elementele unui vector se întelege vectorul ale carui elemente sunt date de relatia:
sj = , j =1, 2,3,..., N
se foloseste functia cumsum care se apeleaza cu sintaxa:
Y= cumsum (X)
Prin produs cumulat al elementelor unui vector se întelege vectorul ale carui elemente sunt date de relatia:
pj = , j =1,2,3,.., N
se foloseste functia cumprod care se apeleaza cu sintaxa:
Y = cumprod (X)
Exemplul 3.1. Sa se calculeze suma, suma cumulata, produsul si produsul cumulat al elementelor unei matrice.
Cu secventa MATLAB:
M = [ 1 2 3; 4 5 6; 7 8 9; 4 2 1 ];
S =sum (M)
P = prod (M)
SC = cumsum (M)
PC = cumprod (M)
se obtin rezultatele: S = [ 16 17 19 ] P = [ 112 160 162 ]
SC = PC =
4.Sortarea elementelor unei matrice
Sortarea elementelor unui vector sau matrice în ordine crescatoare se face cu functia sort care se apeleaza cu una dintre sintaxele:
Y = sort (X) [Y, I] = sort (X)
Exemplul 4.1. Sa se calculeze elementele unei matrice, cu precizarea indicelui fiecarui element.
Cu secventa MATLAB:
X = [ 1 - 2 3; 5 - 9 0; - 10 3 0 ];
[Y,I ] = sort (X)
se obtin rezultatele: Y = I =
5.Variatia si dispersia datelor
Variatia unui set de date se calculeaza cu relatia:
s =
unde termenul (xk-m) reprezinta diferenta sau abaterea lui xk fata de valoarea medie m
Functia MATLAB std calculeaza abaterea medie patratica:
s =
.Coeficientul de corelatie a datelor
Pentru a stabili daca între doua seturi de date,înregistrate în vectorii u si v, exista o dependenta liniara, se calculeaza coeficientul de corelatie:
Functia MATLAB care calculeaza acest coeficient este corrcoef; se apeleaza cu una dintre sintaxele:
Rx = corrcoef (X)
Rxy = corrcoef (x,y)
Exemplul 6.1. Fie urmatoarele functii x= 2+3t, y = 3t; z = 2sin (t).Calculati coeficientii de corelatie Rxy si Rxz, pentru domeniul [0,10].
Cu secventa MATLAB:
t = 0:10;
x = 2+3*t; y = 3*t; z = 2* sin (t);
Rxy = corrcoef (x,y)
Rxz = corrcoef (x,z)
se obtin rezultatele:
Rxy = Rxz =
1 1 1.0000 -0.1167
1 1 -0.1167 1.0000
7.Valori nedefinite
Valoarea speciala NaN corespunde în MATLAB lui Not-a-Number. În mod normal aceasta valoare este rezultatul unor operatii nedefinite, 0/0 sau , conform conventiilor stabilite de standardul IEEE de aritmetica în virgula mobila.
Pentru identificarea pozitiilor ocupate de valorile NaN într-un vector x, se utilizeaza instructiunea:
I = find ( isnan (x));
care returneaza în vectorul I indicii elementelor care sunt valori NaN. Cu instructiunea:
Y =X( fiind( isnan (X)));
se obtine un vector y care contine toate elementelor lui x ce nu sunt NaN ( elimina valorile NaN dintr-un set de date ). Practic,pentru a elimina valorile NaN dintr-un set de date,exista urmatoarele doua modalitati:
X = X ( isnan (X) sau X(isnan(X)) = [ ]
|