Delete NAN + following x values

I have a matrix containing instrument data. Every, lets say, 20 minutes it has a baseline, recorded as NAN followed by some "flushing" values (not useful data). Is there a way I can program Matlab to do something like "find the first NAN of a sequence and delete the next 70 rows? Thank you so much in advance.

Answers (1)

KSSV
KSSV on 1 Feb 2017
Edited: KSSV on 1 Feb 2017
A = rand(10,3) ; % some random data
A(7,:) = NaN ; % introduce NaN
idx = find(isnan(A)) ; % find the positions of NaN's
% first row where Nan occurs
row1 = idx(1) ;
% remove the rows
A(row1:end,:) = []

2 Comments

Thanks! This works for the first occurrence of the NAN. How can I make it a loop, so it deletes all the occurrence (for example I have a daily file with baseline occurrence every 20 minutes or so).
KSSV
KSSV on 1 Feb 2017
Edited: KSSV on 1 Feb 2017
The number of rows you want to delete after NaN are always fixed?

Sign in to comment.

Edited:

on 1 Feb 2017

Community Treasure Hunt

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

Start Hunting!