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?

 Akzeptierte Antwort

madhan ravi
madhan ravi am 16 Dez. 2018
A=randi(10,1,10).'
idx=find(A==1);
A([idx idx+1 idx+2])=NaN

3 Kommentare

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.
madhan ravi
madhan ravi am 18 Dez. 2018
Bearbeitet: madhan ravi am 18 Dez. 2018
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 ;)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by