delete the columns with the last two values equal to NAN

1 view (last 30 days)
Qian cao
Qian cao on 21 Dec 2015
Edited: Image Analyst on 21 Dec 2015
Hi all, I have a matrix
a=[1 NaN 1 1; 1 1 1 1; NaN NaN NaN 1;NaN NaN 1 NaN ]
How to do the function that deletes the columns whose last two values are NaN? So the a matrix here is expected to be
b=[1 1; 1 1; NaN 1; 1 NaN ]
after the first and second column are deleted from the matrix.
a =
1 NaN 1 1
1 1 1 1
NaN NaN NaN 1
NaN NaN 1 NaN
b =
1 1
1 1
NaN 1
1 NaN
Thank you very much.

Accepted Answer

Renato Agurto
Renato Agurto on 21 Dec 2015
This should do it:
b = a(:, ~isnan(a(end-1,:)) | ~isnan(a(end,:)));

More Answers (0)

Community Treasure Hunt

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

Start Hunting!