Identify gaps between data in column structure, and , for differences bigger than a defined value, find start and end index of the two values
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Andrei Stefan
il 22 Ago 2014
Commentato: Andrei Stefan
il 22 Ago 2014
Hi to everybody. The Question is rather confusing but i will explain it. I have a data structure(data_struct)with 100 trials organised in columns. Each trial has another structure within called Eye_Data.The first column in Eye_Data is the 'time'. The gaps between the values are usually 2 ms. Some are 4 ms. I am trying to identify the gaps bigger than 2 ms and plot them on a 2D graph. This is working ok. But if i am trying to plot on timeseries plot, i need to find the two values that have 4 ms between them, so i can declare the start and end of a timeseries event. Please help me in this matter. Thank you The simple code is shown below
%%DISPLAY BLINKS
data_struct = handles.data_struct;
Selected_Trials = handles.Selected_Trials;
for bli = data_struct(Selected_Trials).Eye_Data(:,1);
BLINK = diff(bli);
if BLINK>2;
axes(handles.MainWindow);
plot(BLINK,'-y');
else
str = sprintf('No Blinks on trial:%d',trial);
set(handles.text_display,'String',str);
end
end
0 Commenti
Risposta accettata
the cyclist
il 22 Ago 2014
Do you mean you are trying to find the index to the positions where diff(bli) > 2?
If so, you should be able to use
find(diff(bli)>2)
3 Commenti
the cyclist
il 22 Ago 2014
Modificato: the cyclist
il 22 Ago 2014
Isn't the find() command exactly what you need, then?
find([2 2 2 2 2 2 4 2 2 2 2 2 4 2]>2)
is going to give
[7 13]
which tells you where the 4's are.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Annotations in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!