MATLAB: How to select non-NaN from a matrix

non-nan

Say we are only interested to extract row with only a non-NAN,
1 1 1 1 0 0
1 1 1 1 0 0
1 1 1 NaN 0 NaN
1 1 1 1 0 0
1 1 1 1 0 0
1 1 1 1 0 0
1 1 1 1 0 0
1 1 1 1 0 0
1 1 1 1 0 0
NaN 1 1 1 0 0
That is, row 1,2,4,5,6,7,8,9.

Best Answer

The following should work
X = ones(10,4);
X(3,4) = NaN;
X(3,6) = NaN;
X(10,1) = NaN;
newData=X((all((~isnan(X)),2)),:);