How to remove five lines before every NaN in the vector?
조회 수: 1 (최근 30일)
이전 댓글 표시
Hi everybody!
I am working with eye movements and currently analyzing some data from my experiments. I have a vector of data in Matlab which is indicating the position of the eye. After I imported the ASCII-file to the Matlab, I started to have some strange numbers before every NaN in the vector (I am attaching the file). How can I remove about 5 arrays before and after every NaN in the vector? These arrays I want to replace with NaNs again. I know that it should be really easy to do but my Matlab skills are not enough.
I will very grateful if somebody can help.
Thank you!
Best,
Daria
댓글 수: 0
답변 (1개)
Walter Roberson
2020년 4월 27일
NL = find(isnan(Data));
zap_at = unique(NL+(-5:5));
Data(zap_at) = nan;
댓글 수: 2
Walter Roberson
2020년 4월 27일
yes Data is your vector.
NL is nan locations, the places that the nans are.
zap_at is the places to overwrite with nan.
The code assumes that some of the nan might be within 5 of each other and filters out the duplicates. You could probably get away without the unique() call.
The code as written relies on R2016b or later
참고 항목
카테고리
Help Center 및 File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!