MATLAB: How to remove NaN and / or interpolated data

interpolateremove nan

Hello.
I have the vectors
A=[1 NaN 3 ;...
4 NaN 6 ;...
5 NaN NaN;...
0 NaN NaN;...
7 8 NaN;...
0 0 9] ;...
(variable A) and t=0:1:5; (time), and I would like to do the following: If in a column there are more than 4 rows with NaN I exclude this column, otherwise I interpolate this data.
I have no idea how to do this. Can anyone help me giving suggestions?
Thanks.

Best Answer

A=[1 NaN 3
4 NaN 6
5 NaN NaN
0 NaN NaN
7 8 NaN
0 0 9]
%remove columns with more than 4 nans
A(:, sum(isnan(A), 1) >= 4) = [];
%replace nans by interpolated values. Requires R2016b or later
A = fillmissing(A, 'linear')