Effacer les filtres
Effacer les filtres

How do I keep consecutive number in a matrix?

2 vues (au cours des 30 derniers jours)
Linjun He
Linjun He le 25 Déc 2018
Commenté : Linjun He le 25 Déc 2018
For a matrix A,
A = [1 1 0 0 1 1 0 0;
1 0 0 0 1 1 0 0;
0 1 0 0 1 1 0 0]
I am trying to get B. How do I make it?
B = [1 1 0 0 0 0 0 0;
1 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0]
If the 1st number of a row is 1,
then the 1st sequence of consecutive 1 is kept and the rest numbers in that row turn 0.
i.e., A(1,:) -> B(1,:), A(2,:) -> B(2,:)
If the 1st number of a row is 0,
then all numbers in that row turn 0.
i.e., A(3,:) -> B(3,:)

Réponse acceptée

Matt J
Matt J le 25 Déc 2018
B=cummin(A,2);
  2 commentaires
Image Analyst
Image Analyst le 25 Déc 2018
Clever. I didn't know about this function. +1 vote.
Linjun He
Linjun He le 25 Déc 2018
Cool!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Multidimensional Arrays dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by