Dear all,
I have matrix of binary with n=5
A=[0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
....
1 1 1 1 1]
but I only want to take a submatrix with 3 number 1 inside
subA=[ 0 1 1 0 1
1 0 1 0 1
0 1 1 1 0
........]
and
subB=[0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 1 0 0 0
1 0 0 0 0
0 0 0 1 1
.....
0 1 1 0 1
1 0 1 0 1
0 1 1 1 0
........]
. Couyld you help me? Thanks

 採用された回答

James Tursa
James Tursa 2017 年 5 月 19 日
編集済み: James Tursa 2017 年 5 月 19 日

0 投票

subA = A(sum(A,2)==3,:);
For subB it is not entirely clear to me what you want. Do you want the rows of A arranged so that all rows with one 1 come first, then all rows with two 1's, then all rows with three 1's? Or what? E.g., this?
subB = [A(sum(A,2)==1,:);...
A(sum(A,2)==2,:);...
A(sum(A,2)==3,:);...
A(sum(A,2)==4,:);...
A(sum(A,2)==5,:)];

2 件のコメント

Quynh tran
Quynh tran 2017 年 5 月 19 日
in subB, I want with 5 colums but number of 1 in a row is less than 3
James Tursa
James Tursa 2017 年 5 月 19 日
編集済み: James Tursa 2017 年 5 月 19 日
Your words do not match your example. Maybe a truncated version of the above?
subB = [A(sum(A,2)==1,:);...
A(sum(A,2)==2,:);...
A(sum(A,2)==3,:)];
or
subB = [A(sum(A,2)==1,:);...
A(sum(A,2)==2,:)];

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

タグ

質問済み:

2017 年 5 月 19 日

編集済み:

2017 年 5 月 19 日

Community Treasure Hunt

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

Start Hunting!

Translated by