How to find longest lasting event

How to find longest lasting event?
means i wanna Calculate the duration of each event as the difference between 2 function..

1 Comment

If use the duration class variable, then it's a simple as subtraction...

Sign in to comment.

Answers (2)

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

Sir not in binary. Data is combination of some funtions.
Well, that's nice....but how are we to know when you keep what it actually is a deep, dark secret?
Without showing us what you have, all we can do is guess.
As noted above, if you'll turn the function outputs into either a real time or duration containing a starting time, then you can simply subtract the results.
If the functions themselves can't be modified, then cast the result of the function first.
No no its not a secret sir.. i share this, i just needed a idea for this. i can't actually obseved this completely.
(I have done task-1. but face some problems in 2 and 3
So, it looks like homework. I never heard of the groupsummary function, but there is a grpstats() function in the Statistics and Machine Learning Toolbox.
Anyway, with 2 they basically showed you how to do it. Just take everything in bold and string them together. It's trivial. Really basic MATLAB indexing stuff. If you still don't know how, then you can save a lot of time in the future if you just invest 2 hours now by watching this : MATLAB Academy - free 2 hour training
yes sir.. You r right.
@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.
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)?

Asked:

on 24 May 2020

Answered:

on 11 Jan 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!