MATLAB Answers

How to ignore NaN in a string cell

5 views (last 30 days)
I have a cell array called test2 that contains some NaN and strings in each column, see attached image below.
I would like to create a loop where I can loop through test2 and ignore the NaN columns. The issue I am having is NaN characteristic is double and the if statement I created, if (cellfun(@(x) any(isnan(x)),test{i},'UniformOutput',false)), gives this error input#2 expected to be a cell array, was double instead.
Side note: i is the indices, for example i=1:1590.
Any help is very much appreciated.

Accepted Answer

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 25 Sep 2021
Edited: Sulaymon Eshkabilov on 25 Sep 2021
A simple answer is e.g.:
TEST = test(cellfun('isclass', test, 'char')) % All NANs removed
An alternative solution is e.g.:
test(cellfun(@(test) any(isnan(test)),test)) = []

More Answers (0)


Community Treasure Hunt

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

Start Hunting!