Effacer les filtres
Effacer les filtres

Make the FIND more compact

1 vue (au cours des 30 derniers jours)
balandong
balandong le 11 Juil 2017
Commenté : balandong le 11 Juil 2017
Hi Coder, Just out of curiosity, if we can make the last two lines into a single line?
M = zeros (9,1);
Alert_LessThree = 1:3;
B = [2 4 4 4 1 5 6 7 8];
[tf,Ioc_Alert_LessThree] = find (ismember(B, Alert_LessThree));
M(Ioc_Alert_LessThree,:) = 2;
Thank you

Réponse acceptée

Adam
Adam le 11 Juil 2017
M( ismember(B, Alert_LessThree) ) = 2

Plus de réponses (1)

Star Strider
Star Strider le 11 Juil 2017
Yes.
You only need the first output from ismember, that is a logical vector. I believe this is the result you want:
M(ismember(B, Alert_LessThree)) = 2;
  1 commentaire
balandong
balandong le 11 Juil 2017
Thanks guys, in fact, that is more efficient!

Connectez-vous pour commenter.

Catégories

En savoir plus sur MATLAB Coder 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