rows extraction in matrix depending on a column value

4 views (last 30 days)
I have a 50x50 matrix and n that the last row has 0,1,2 at different locations ie., 0 n 10 rows,1 n 20 rows ad 2 in 20 rows, so depending on the column value how can i extract all rows containing 0 at 50th column and save them in to a single variable
  2 Comments
Sean de Wolski
Sean de Wolski on 28 Jun 2013
A small example of your matrix and expected results would make this much easier to grasp.
PK
PK on 28 Jun 2013
Edited: PK on 28 Jun 2013
@Sean de Wolski A=[1 2 3 0; 1 2 5 0;5 8 6 1;6 8 7 0;5 4 7 2;6 5 8 0] so in this there are 6 rows and depending on fourth element of the row all the rows containing same number are to be pinned up to a single variable ie.,rows 1,2,4,6 are to be stored to a single variable and row 3 to another and row 5 to another.

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 28 Jun 2013
Try this:
% Generate sample data
A=[...
1 2 3 0;
1 2 5 0;
5 8 6 1;
6 8 7 0;
5 4 7 2;
6 5 8 0]
% Get last column
lastColumn = A(:, end);
% Get zeros
A0 = A(lastColumn == 0, :)
% Get zeros
A1 = A(lastColumn == 1, :)
% Get zeros
A2 = A(lastColumn == 2, :)
In the command window:
A =
1 2 3 0
1 2 5 0
5 8 6 1
6 8 7 0
5 4 7 2
6 5 8 0
A0 =
1 2 3 0
1 2 5 0
6 8 7 0
6 5 8 0
A1 =
5 8 6 1
A2 =
5 4 7 2

More Answers (0)

Categories

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