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 view (last 30 days)
Show older comments
Andrei Stefan
on 22 Aug 2014
Commented: Andrei Stefan
on 22 Aug 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 Comments
Accepted Answer
the cyclist
on 22 Aug 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 Comments
the cyclist
on 22 Aug 2014
Edited: the cyclist
on 22 Aug 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.
More Answers (0)
See Also
Categories
Find more on Annotations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!