Replacing NaN with some specific values in a mix data type of cell.
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Jan
2017-10-18
编辑:Jan
2017-10-18
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 个评论
Jan
2017-10-18
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}
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 NaNs 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!