How to eliminate Repeated NaNs in a array?
2 次查看(过去 30 天)
显示 更早的评论
I have two vectors X, and Y; both will have NaNs present in them.
If X has a NaN, Y will have a NaN as well at the same location.
I would like to squeeze repepated NaNs to just one NaN.
For e.g. if X = [1,2.3, NaN, NaN, NaN, 2, 1].. then
X should be replaced by X=[1,2,3,NaN,2,1] and
Y also should reflect the same.
How would I achieve it?
0 个评论
采纳的回答
Adam Danz
2019-10-28
% Demo data
x = [1:5 nan nan nan nan nan nan, 7:10, nan, 12, nan, 13:15, nan nan nan 19 ];
keepIdx = ~isnan(x); % keep all non-nans
keepIdx(logical([1,diff(~keepIdx)])) = true; % keep first of consecutive nans
x = x(keepIdx); % remove unwanted values from x
y = y(keepIdx); % remove unwanted values from y
更多回答(0 个)
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!