How to remove NaN value from front part (first column) of raw matrices.

3 views (last 30 days)
I have multiple files that contain row matrices. Some of the row metrics starts with number and some starts with missing value (NaN).
What I need is the row matrices to start with a number (the number have to be the one which comes after removing the all the NaN values that preceding it)
For instance x = [NaN NaN 89 87 45 90 NaN 100 52 Nan]
The returned x_new has to be x = [ 89 87 45 90 NaN 100 52 NaN]. NaN in the middle or end of the row remains as it was.
In addition the algorithm has to skip the file that contains row data which begins with number. I have attached the files
Thank you for all our contribution in advance

Accepted Answer

Jonas
Jonas on 28 May 2021
Edited: Jonas on 28 May 2021
can't check your files at the moment, but it should be something like that:
for fileNr=1:6
load(['S' num2str(fileNr)],'x')
if ~isnan(x(1))
continue;
else
x(1)=[]; % first NaN removal
end
while isnan(x(1)) % if there are more NaN entries at the beginning
x(1)=[];
end
% do stuff with your clean vector
end

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by