MATLAB Answers

find the cell nan or not

50 views (last 30 days)
I am trying to check the cell is nan or not I have a cell array a = {'ddd_Dds_1_dffs'}
when i use like this cellfun(@isnan,a,'UniformOutput',false)
i am getting as [0 0 0 0 0.......]
How to use cell fun to get only logical 1 or 0, if it is nan then 1 or 0
Thank you

Accepted Answer

Walter Roberson
Walter Roberson on 24 Aug 2015
cellfun(@(C) isnumeric(C) && any(isnan(C(:))), a)
for the case where you want to check whether the entry contains NaN anywhere. If you want to check to see whether the entry is a single NaN then
cellfun(@(C) isequaln(C, NaN), a)
You are getting the vector of results because strings are arrays of char and isnan() was testing each element of the array
In the situation where you know that each entry is either a string or else a NaN, then test
~cellfun(@ischar, a)

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!