how to call the data in matrix with the same value in one column

1 view (last 30 days)
Let's say:
A= [ 111 111 111 2 % group 1
999 999 999 2 % group 1 ...........
555 555 555 4 % group 2
222 222 222 4 % group 2
333 333 333 4 % group 2 ...........
123 311 911 7 % group 3
221 199 722 7 % group 3 ...........
699 996 331 8 ] % group 4
Note: IF the value of column 4 in matrix A is the same, so all data will be grouped in one group
My question is: How to call each group from matrix A? Since, I wanna work with the data in each group? I hope the result:
A1= [ 111 111 111 2 % point 1
999 999 999 2] % point 2
A2= [ 555 555 555 4 % point 3
222 222 222 4 % point 4
333 333 333 4 ] % point 5
.................. and so on.

Accepted Answer

KL
KL on 18 Nov 2017
Edited: KL on 18 Nov 2017
first get all the unique values of column 4 using,
vals = unique(A(:,4));
then use indexing to filter,
A(A(:,4)==vals(1),:)
better idea is to use to tables and then use use findgroups
  1 Comment
ha ha
ha ha on 21 Nov 2017
Thank @KL
You know how to calculate how many point in each group? Exam: group 1 contain 2 points, group 3 contain 3points.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!