我有一个矩阵:
raw =
'alon' 'tomer' 'ilana' 'T1' '2' '53' '24' 'NaN'
'ilana' 'oren' '6' 'a' 'g' 'g' 'gsh' 'NaN'
'dikla' 'aba' 'mama' 'a' 'h' 'ghfs' 'bfsbf' 'NaN'
'4' 'NaN' 'NaN' 'nn' 'NaN' 'NaN' 'hadhd' 'NaN'
我想删除 NaN 并获得:
'alon' 'tomer' 'ilana' 'T1' '2' '53' '24'
'ilana' 'oren' '6' 'a' 'g' 'g' 'gsh'
'dikla' 'aba' 'mama' 'a' 'h' 'ghfs' 'bfsbf'
'4' '' '' 'nn' '' '' 'hadhd'
我怎么做?
我尝试了很多建议,但我得到了错误:
1)
>> raw=raw(~isnan(raw(:,2)),:)
??? Undefined function or method 'isnan' for input arguments of type 'cell'.
2)
raw(isnan(raw(:,1)),:) = [];
??? Undefined function or method 'isnan' for input arguments of type 'cell'.
3)
raw(~any(isnan(raw),2),:)
??? Undefined function or method 'isnan' for input arguments of type 'cell'.
4)
T(cellfun(@isnan,T))={0}
??? Error using ==> cellfun
Non-scalar in Uniform output, at index 1, output 1.
Set 'UniformOutput' to false.
我尝试了 Ansari 的解决方案,但现在我得到了:
raw =
'alon' 'tomer' 'ilana' 'T1' '2' '53' '24' [0]
'ilana' 'oren' '6' 'a' 'g' 'g' 'gsh' [0]
'dikla' 'aba' 'mama' 'a' 'h' 'ghfs' 'bfsbf' [0]
'4' [ 0] [ 0] 'nn' [0] [ 0] 'hadhd' [0]
这对我不好,因为我想做:
size(raw,2)
并得到:
7