How to divide the data of a matrix?

1 view (last 30 days)
Abin Krishnan
Abin Krishnan on 13 Feb 2014
Answered: Jos (10584) on 13 Feb 2014
I have a data in which the first column gives the time and the second column gives the velocity. The time varies from 0 to 0.8 seconds.I want to divide the time into groups starting from 0 to 0.1 s, 0.1 to 0.2 ..., 0.7 to 0.8 s.Then take the count of the velocity in the respective group.
Azzi Abdelmalek
Azzi Abdelmalek on 13 Feb 2014
You can give a short numeric example to explain what you want

Sign in to comment.

Answers (1)

Jos (10584)
Jos (10584) on 13 Feb 2014
TIMES = DATA(:,1) ;
VELS = DATA(:,2) ;
TakeTheCountOfTheVelocityFunction = @(V) numel(V) ; % or whatever you mean by this?
[n, GroupIDX] = histc(TIMES,0:0.1:0.8) ; % GroupIDX specifies the group
Result = accummarray(GroupIDX(:), VEL(:), TakeTheCountOfTheVelocityFunction)


Find more on Resizing and Reshaping Matrices 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!