MATLAB: Please help: calculate average frequency of histogram

frequencyhistogram

Hello everyone,
I hope anyone could help me, I'm kinda new to Matlab.
I have two variables, speed and time. I would like to calculate mean duration of each speed interval.
For example:
In Speed interval between 2-4 mph (shown in yellow color), i have 4 speed data. The first data was last for 1-sec only, and the others were last for 3 sec. The mean duration of speed stability is 2 sec.
I really appreciate any help you give.
Thank you for your time.

Best Answer

Sp=[3 9 1 2 3 2.5 7.8 6.5 9.3 9.1]';
[n,b] = histc(Sp,0:2:10);
c = accumarray(b,(1:numel(Sp))',[],@(x){x});
ii = cellfun(@(z)numel(unique(diff(sort(z)))),c);
ii(~ii) = 1;
out = n(1:end-1)./ii;