matlab 删除所有有nan值的列

如题所述

A = [0.9501    0.7621    0.6154    0.4057    0.0579
    NaN    0.4565    0.7919    0.9355    0.3529
    NaN       NaN       NaN    0.9169    0.8132
    0.4860    0.8214    0.7382    0.4103    0.0099
    0.8913       NaN    0.1763    0.8936    0.1389];
L = sum(isnan(A));
R = A(:,L==0)
R =
    0.4057    0.0579
    0.9355    0.3529
    0.9169    0.8132
    0.4103    0.0099
    0.8936    0.1389

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-28
A=[1,2,3,4; NaN 2 3 4 ; 1 NaN 3 4]
[x y]=size(A);
[n m]=find(isnan(A));
colNum=(1:1:y);
colRest=setdiff(colNum, m);
A(:,colRest )本回答被提问者采纳
相似回答