私は行列Aを持っています:
NaN NaN NaN NaN NaN NaN NaN 10 1 8 7 2 5 6 2 3 49 NaN NaN NaN NaN NaN NaN
NaN が最初に数字に変わるタイミングを検出し、10 と 1 の両方を NaN にするなど、最初の 2 ポイントを NaN に変える方法があるかどうか疑問に思っていました。
次に、数値が NaN になるタイミングを見つけ、最後の 2 つの数値ポイント 3 と 49 を NaN にします。
当初は次の方法を考えていましたが、これが最善の方法であるかどうか疑問に思っていました。
i= 2;
while i < 1440
if isnan(A(i)) < isnan(A(i-1)) //Transitioning from NaN to numbers
A(i:i+2) = NaN;
i = i+ 4;
elseif isnan(A(i)) > isnan(A(i-1)) //Transitioning from numbers to NaNs
A(i-2:i) = NaN;
i = i + 1;
else
i = i + 1;
end
end
しかし、それを最適化できる他の方法があるかどうか疑問に思っていましたか?