convert double NaN to string NaN

51 vues (au cours des 30 derniers jours)
Daneisha Blair
Daneisha Blair le 24 Août 2021
Commenté : Daneisha Blair le 24 Août 2021
Hi
I have a cell array with NaN as shown in the image. How can I convert NaN to string NaN meaning instead of of seeing NaN in the array, I want to see "NaN".
I have tried this: TC(cellfun(@(x) any(isnan(x)),TC,'UniformOutput',false)) = {"NaN"}; but no success.
Any help is appreciated.

Réponse acceptée

KSSV
KSSV le 24 Août 2021
A = NaN(2,5) ;
C = arrayfun(@num2str,A,'UniformOutput',false)
C = 2×5 cell array
{'NaN'} {'NaN'} {'NaN'} {'NaN'} {'NaN'} {'NaN'} {'NaN'} {'NaN'} {'NaN'} {'NaN'}
  5 commentaires
Daneisha Blair
Daneisha Blair le 24 Août 2021
Wait, how can I get it in string array instead of cell array, please?
Daneisha Blair
Daneisha Blair le 24 Août 2021
I got it :) . string(arrayfun(@num2str,A,'UniformOutput',false)).

Connectez-vous pour commenter.

Plus de réponses (1)

darova
darova le 24 Août 2021
Try num2str
a = {nan 1 nan};
cellfun(@num2str,a,'UniformOutput',0)
ans = 1×2 cell array
{'NaN'} {'NaN'}
  1 commentaire
Daneisha Blair
Daneisha Blair le 24 Août 2021
This didn't give me quite what I was looking for.
For clarification, TC is in the structure of:
TC = {["Mercury","Gemini", "Apollo"; ...
"Skylab", "Skylab B","ISS"], ...
["Mercury","Gemini";
"Skylab","Skylab B"]}
% Output array
TC = cellfun(@(x) nan(size(x,1),1) ,TC,'UniformOutput',false)
which created double NaN
However, I want it in string NaN, like this {'NaN'}
Hope this help.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by