How to find longest lasting event

2 views (last 30 days)
Attaullah Shafiq
Attaullah Shafiq on 24 May 2020
Answered: ahmed ibrahim on 11 Jan 2021
How to find longest lasting event?
means i wanna Calculate the duration of each event as the difference between 2 function..
  1 Comment
dpb
dpb on 24 May 2020
If use the duration class variable, then it's a simple as subtraction...

Sign in to comment.

Answers (2)

Image Analyst
Image Analyst on 24 May 2020
What form is your event data in? Is it like a binary vector [0,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0]?
% 1's are in the event and 0's are where the event is not happening.
inEvent = logical([0,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0])
% Extract the longest one and sum up the number of indexes of it.
longestDuration = sum(bwareafilt(inEvent, 1))
inEvent =
1×16 logical array
0 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0
longestDuration =
6
  7 Comments
dpb
dpb on 24 May 2020
@IA, groupsummary is relatively recent addition to the splitapply workflow toolkit -- R2018x? I think or thereabouts.
It's another case of essentially the same functionality as a Toolbox function being migrated to base product excepting w/ a different name and slightly different syntax.
Image Analyst
Image Analyst on 24 May 2020
Right you are. Cool, thanks. 👍

Sign in to comment.


ahmed ibrahim
ahmed ibrahim on 11 Jan 2021
What row in the data set does this correspond to (remember that min and max have a 2nd output that gives the row)?

Categories

Find more on Get Started with MATLAB 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!