MATLAB Answers

How to make array with first values of matrix

11 views (last 30 days)
Filip Konecny
Filip Konecny on 22 Feb 2018
Commented: Jan on 22 Feb 2018
Hello to all,
I have a matrix for example like this: [1 2 3 4 5 6 7 8 9 10;2 2 3 3 4 5 5 2 3 3]' the first column represents time, the second ID of time. I need to make a cycle which goes through the matrix and takes the first time value from the group of ID of time.
So in this case the result will be: [1 3 5 6 8 9].
unique function is unfortunately not helpful in this case because the groups of ID of time might repeat.
Thank you very much
Filip

Answers (1)

C.J. Harris
C.J. Harris on 22 Feb 2018
% Input
A = [1 2 3 4 5 6 7 8 9 10;2 2 3 3 4 5 5 2 3 3]';
% Result
B = A([boolean(1); diff(A(:,2))~=0],1);

  1 Comment

Jan
Jan on 22 Feb 2018
Use true instead of boolean(1).

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!