Clear Filters
Clear Filters

Make the FIND more compact

1 view (last 30 days)
balandong
balandong on 11 Jul 2017
Commented: balandong on 11 Jul 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

Accepted Answer

Adam
Adam on 11 Jul 2017
M( ismember(B, Alert_LessThree) ) = 2

More Answers (1)

Star Strider
Star Strider on 11 Jul 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 Comment
balandong
balandong on 11 Jul 2017
Thanks guys, in fact, that is more efficient!

Sign in to comment.

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!