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.

답변 (1개)

KSSV
KSSV 2017년 2월 1일
편집: KSSV 2017년 2월 1일

0 개 추천

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

Julia Perim de Faria
Julia Perim de Faria 2017년 2월 1일
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 2017년 2월 1일
편집: KSSV 2017년 2월 1일
The number of rows you want to delete after NaN are always fixed?

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 NaNs에 대해 자세히 알아보기

질문:

2017년 2월 1일

편집:

2017년 2월 1일

Community Treasure Hunt

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

Start Hunting!

Translated by