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?

 採用された回答

madhan ravi
madhan ravi 2018 年 12 月 16 日

1 投票

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

3 件のコメント

Emmanouil  Rachoutis
Emmanouil Rachoutis 2018 年 12 月 18 日
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 2018 年 12 月 18 日
編集済み: madhan ravi 2018 年 12 月 18 日
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.
Emmanouil  Rachoutis
Emmanouil Rachoutis 2018 年 12 月 18 日
Thanks once again :) I actually had included this question in the main question ;)

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Community Treasure Hunt

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

Start Hunting!

Translated by