У меня есть матрица:удалить MATLAB NaN из матрицы
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.
Я попытался решение Ансари, но теперь я получил:
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)
и получить:
спасибо, Я понимаю, но у меня проблема с этим:/Я обновляю свою тему. –
Извините, я не понимаю - какая у вас проблема? Я не вижу никаких изменений, внесенных в вопрос ... – Ansari
Я обновил 4 минуты назад:] –