1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| clear all
%%% on charge les données %%%
database=load('essai_realdefau_1_kHz.dat');
xmin=250
xmax=500
ymin=250
ymax=500
%%%%%%%%%%%reduction de ma matrice de données%%%%%%%%%%%%%%%%%
for j=xmin:xmax
for k=ymin:ymax
database_reduit(k-ymin+1,j-xmin+1)=database(k,j);
[nb_ex,nb_feat] = size(database_reduit);
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%Calcul de la matrice de donnée centrée et normée%%%%%%%%%%%%%%
for j=1:nb_feat
rowsum = sum(database_reduit(:, j))/nb_ex;
ect=std(database_reduit(:, j));
for k=1:nb_ex
database1=(database_reduit(k,j)-rowsum)/(ect)^0,5;
database2_reduit(k,j)=database1;
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% on calcule la matrice de covariance %%%
S = cov(database2_reduit);
%%% on calcule les vecteurs propres et les valeurs propres %%%
[vec_p, L] = eig(S);
%%% on trie les vecteurs propres selon les valeurs propres %%%
[val_p, ind] = sort(diag(L));
val_p = flipud(val_p);
ind = flipud(ind);
vec_p2 = vec_p(:,ind);
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%Calcul de la matrice d'estimation%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%(Matrice vecteurs propores*Matrice données centrée%%%%%%%%%%%%%%%%%
S_chapo=vec_p2'*database2_reduit
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%coeff=corr2(S_chapo,database2_reduit) |
Partager