How to find a value and set the following 2 value to NaN?

Hi :) I have a vector let's say A=randi(10,1,100)' and whenever I find a value equal to 1 I want to set that value and the following 2 values to NaN.
For another case I need to do the same but whenever there are 4 ones in row, then I need to do set to NaN the 2 values following the last 1.
Does anyone know a way of doing that?

 Accepted Answer

A=randi(10,1,10).'
idx=find(A==1);
A([idx idx+1 idx+2])=NaN

3 Comments

Thanks for the great help! It works perfectly fine! Another question is how to do that only if having let's say 4 consecutive values of 1.
Anytime :) , let me get back to you in a few minutes , you can either unaccept my answer or pose it as a separate question so that others may answer you.
Thanks once again :) I actually had included this question in the main question ;)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!