Is There A Method For Filtering Array Data Based On 2 Values?

2 views (last 30 days)
I’ve got a < 12 x 2 double > array that looks like this;
58570 1
58571 1
58572 1
58573 2
58574 2
58575 7
58576 7
58577 11
58580 11
58581 11
58582 123
58583 123
Column 1 is UTC time, column 2 is a vehicle ID.
I’m looking to filter this data such that the greatest UTC for each vehicle ID is stored in a separate array. Using the above array, the end result would look like this:
58572 1
58574 2
58576 7
58581 11
58583 123
Any ideas on how to accomplish this would be appreciated. Thanks.

Accepted Answer

Matt J
Matt J on 8 Jul 2013
[~,idx]=unique(data(:,2),'last');
data=data(idx,:);
  1 Comment
Brad
Brad on 8 Jul 2013
Matt, this runs like a champs and is compact. And I ran RIGHT OVER IT when looking in the documentation.
Thanks for taking a look at this.

Sign in to comment.

More Answers (0)

Categories

Find more on Shifting and Sorting Matrices in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!