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

 Réponse acceptée

James Tursa
James Tursa le 19 Mai 2017
Modifié(e) : James Tursa le 19 Mai 2017

0 votes

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 commentaires

Quynh tran
Quynh tran le 19 Mai 2017
in subB, I want with 5 colums but number of 1 in a row is less than 3
James Tursa
James Tursa le 19 Mai 2017
Modifié(e) : James Tursa le 19 Mai 2017
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,:)];

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Simulink PLC Coder dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by