MATLAB: Rows extraction in matrix depending on a column value

matrix manipulation

I have a 50×50 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

Best Answer

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