How to eliminate Repeated NaNs in a array?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Pappu Murthy
am 28 Okt. 2019
Kommentiert: Adam Danz
am 28 Okt. 2019
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 Kommentare
Akzeptierte Antwort
Adam Danz
am 28 Okt. 2019
% 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
2 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!