Replacing NaN with some specific values in a mix data type of cell.
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi there, I'm looking for functions that can replace Nan with some specific values in a mix data type of cell. Mix data type as in there's some cell containing strings, some are containing num.
I tried using
table(cellfun(@isnan,table))={'0'}
and I got this
Error using cellfun
Non-scalar in Uniform output, at index 1, output 1.
Set 'UniformOutput' to false.
Please help. Thanks!
0 Kommentare
Akzeptierte Antwort
Jan
am 18 Okt. 2017
Bearbeitet: Jan
am 18 Okt. 2017
Start with a simple loop:
for iC = 1:numel(C)
aC = C{iC};
if isfloat(aC) && ~isempty(aC) % Only SINGLE and DOUBLE can be NaN
aC(isnan(aC)= 0;
C{iC} = aC;
end
end
2 Kommentare
Jan
am 18 Okt. 2017
This replaces all empty cells by 0 and NaN does not appear at all. If you want this, use the simpler and faster:
C(cellfun('isempty', C)) = {0};
If your problem is not solved now, please post a small example of the input and output. My code converts:
C = {1, [2, NaN], 'hello', [], NaN}
to
C = {1, [2, 0], 'hello', [], 0}
And your code does:
C = {1, [2, NaN], 'hello', 0, NaN}
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu NaNs finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!