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
| t=1:30;
x=sin(t);
Lx = max(x) - min(x); %amplitude du signal
Lt=length(t); %temps total
Nc=10; %nombre de classe
Lc=Lx/Nc; %hauteur d'une classe
%figure
j=0;
for k=(-Lx/2):Lc:(Lx/2)
j=j+1; %numéro de la classe
plot([0 Lt], [k k]); %on trace les droites représentant les classes
h=0;
i=0;
for temps=0:Lt
g=0; %on met à zero le caclul de la dérivé
i=i+1;
s=sign(diff([+inf x +inf])); %recherche les extremas
idx=(s(2:end).*s(1:end-1))==-1;
if temps == 0
g=0;
elseif temps == Lt
g=0;
else
g=(x(temps+1)-x(temps))/0.1; %calcul de la dérivée
end
h(i)=g; %on stock le calcul de la dérivée dans le vecteur h
plot(t,x,find(idx),x(idx),'ro') %on trace le signal d'entrée et on marque les extremas
hold on
%disp(g);
end
moy_pente(j)=mean(h); %calcul de la moyenne des pentes pour la classe j
end
disp(moy_pente);
ecart_type=std(moy_pente);
disp(ecart_type); |
Partager