Check and replace elements in a matrix

1 visualización (últimos 30 días)
Konstantinos
Konstantinos el 9 de En. de 2015
Comentada: Konstantinos el 9 de En. de 2015
I have a random generated matrix (2x8) which consist of zeros and ones. How can I check, in each row, if there are 2 ones in the first 4 elements and 1 one in the last 4 elements ? Moreover, If there are more ones than the prescribed, I would like to exchange the redundants ones with zeros.
i.e rand = ( 1 1 1 0 0 1 1 0; 0 1 1 1 0 1 0 0 )
modified_rand = ( 1 1 0 0 0 1 0 0; 0 1 1 0 0 1 0 0 )
Any help could be useful. Thanks in advance !

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 9 de En. de 2015
a=[ 1 1 1 0 0 1 1 0; 0 1 1 1 0 1 0 0 ]
a1=a(:,1:4);
a2=a(:,5:end)
a1(cumsum(a1,2)>2)=0
a2(cumsum(a2,2)>1)=0
b=[a1 a2]
  2 comentarios
Konstantinos
Konstantinos el 9 de En. de 2015
Thanks a lot!
Konstantinos
Konstantinos el 9 de En. de 2015
If there are more ones than the prescribed number, is it possible to find random which ones to keep and which ones to replace with zeros ?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by