MATLAB 中用于删除全行、全列的数据

从简单的数据矩阵开始:

a=[1,0,1,NAN,NAN,NAN;0,1,NAN,2,1,0];

%%删除3-6列中全行为nan的数据:

a(all(isnan(a(:,3:6)),2)==1,:)=[];

针对元胞:a ={1 0 1 0 NaN; 0 1 NaN NaN NaN}; 

 %%删除全为NaN的列:

 a(:,find(all(cellfun(@(x) isnan(x),a))))=[];  

%%删除全为NaN的行 :

a(find(all(cellfun(@(x) isnan(x),a),2)),:)=[];  

你可能感兴趣的:(MATLAB 中用于删除全行、全列的数据)