Splitting a matrix into submatrices by value

Hello, I have a 10000x3 matrix called A. The 3rd column of the matrix consists of 0s and 1s. I want to create 2 submatrices where A1 collects all rows of A that has a 1 in the 3rd column. A2 should collect the rest of the columns. How can I do that? Thanks!

2 个评论

Give short example question is not clear . Give an example.
if true
A= [1 2 0; 3 4 0; 4 5 1; 4 7 0; 5 5 1]
end
I want to create
if true
A1=[4 5 1; 5 5 1] and A2=[1 2 0; 3 4 0; 4 7 0]
end
Now suppose that I have thousands of rows. How can I split the matrix A based on the 3rd column values?

请先登录,再进行评论。

 采纳的回答

Something like this?
A = [2 3 0 3;...
3 2 1 3;...
2 2 1 2]
A =
2 3 0 3
3 2 1 3
2 2 1 2
A1 = A(A(:,3)==1,:)
A1 =
3 2 1 3
2 2 1 2
A2 = A(A(:,3)==0,:)
A2 =
2 3 0 3

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by