How do I find the duration of a number in an array?
Show older comments
Given the array
c=[3 3 3 5 5 6 7 8 1 1 3 3 3 0 0 0 4 4 4 5 6 7 8 3 3 3 9 10 3];
I am trying to find the average duration of each number in this array. For example, I am looking to find the average duration for 3 in this array. I know that 3 occurs 10 times but is grouped into 4 separate occurrences. I want the output to be the average duration for 3...which is 2.5. please help!
Accepted Answer
More Answers (1)
Azzi Abdelmalek
on 28 May 2015
c=[3 3 3 5 5 6 7 8 1 1 3 3 3 0 0 0 4 4 4 5 6 7 8 3 3 3 9 10 3];
[ii,jj,kk]=unique(c)
d=accumarray(kk,1)
for k=1:numel(ii)
a=ii(k)
res(k)=d(k)/numel(strfind([0 c==a 0],[0,1]))'
end
out=[ii' res']
Categories
Find more on Whos 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!