Salve ,allora il codice che dovevo implementare riguarda il plottare la velocità angolare dì soggetti durante il cammino , il segnale che vede in figura in blu è tutta la velocità angolare ( che è stata prima filtrata e poi presa in valore assoluto) , mentre i segmenti rossi sono i tratti di curva in cui la velocità del soggetto superava una certa soglia e proprio per quella soglia il soggetto svolta.Quindi i picchi rossi (cerchi rossi) indicano il picco della svolta del soggetto , quello che mi serve identificare sono i punti di inizio e fine svolta , in questo senso parlo di minimo prima e dopo il picco rosso. Per essere più chiara gli asterischi neri che vede in figura sono tutti i minimi trovati con la funzione findpeaks(-signal) , io vorrei trovare solo l'sterisco nero subito prima e subito dopo ogni punto rosso di picco.Le scrivo il codice , e grazie mille per la risposta .Spero di essere stata chiara
load ('92S1B_20190926_094607.mat','tronco')
angularvel_x=tronco(:,4)*180/pi;
accell_x=tronco(:,1);
n=length(angularvel_x);
t=[0:n-1]'/128;
%grafico velocità angolare intorno asse del tronco
figure (1)
plot (t,angularvel_x,'b')
title('Velocità angolare attorno asse x')
%filtro velocità angolare con filtro di Butterwoth
fs=1;
fc=128;
Wn=(fs/fc);
[b,a]=butter(5,Wn,'low');
segnale_filtrato=filtfilt(b,a,angularvel_x);
y=abs(segnale_filtrato);
figure(3)
plot(t,y);
title ('Segnale filtrato')
soglia=60;
%cosi ho trovato i segmenti rossi
y_svolta=y*NaN;
t_svolta=find(y >soglia);
y_svolta(t_svolta)=y(t_svolta);
%identifico i picchi delle svolte (pallino rosso), in cui locs sono gli indici relativi ai
%picchi e pks i valori dei picchi
[pks,locs] = findpeaks(y,'MinPeakHeight',60);
%identifico i punti di minimo con locsmin indice e pksmin valore
[pksmin,locsmin]=findpeaks(-y);
figure(4)
plot(t,y,'b')
hold on
plot(t,y_svolta,'r',t(locs),(pks),'ro',t(locsmin),(-pksmin),'k*')
title('Identificazione svolte')