MATLAB: Eliminating, whenever is necessary the first column in nun where [num,txt,r​aw]=xlsrea​d(‘data.xl​sx’);

column

Dear all, I am struggling to find a solution to the following problem. I load many excel files Say for instance that I load the following file
[num,txt,raw]=xlsread('data.xlsx');
The problem is that sometimes the first column of the “raw” matix, which normally contains this type of information
[ NaN]
[ NaN]
[ NaN]
[ NaN]
[ NaN]
[ NaN]
[ NaN]
' YEs'
'NO'
Contains also numbers in some cells. For example
[ NaN]
[ NaN]
[ NaN]
[ NaN]
[ NaN]
[ NaN]
[ NaN]
' YEs'
'NO'
[ 0]
As a result of this situation, the matrix “num” , creates a first column which is useless as it contain no information(it contains only NaN and zeros). If the first column of the “raw” matrix contains no numbers then such useless column does not appear in “num”
My goal was to develop a code that could identify this problem and eliminate, whenever is needed, the first useless column from “num”
So far I have made no progress
thanks

Best Answer

I like your approach.
try
if all (isnan(num(:,1)) | num(:,1) == 0)
num(:,1) = [];
end
note that there may still be some NaNs in the first column. To remove the first column whenever any nan is present, try
if any(isnan(:,1))
num(:,1) = [];
end