How can I convert a cell array into a numeric array using MATLAB replacing non-numeric values to NaN?
12 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a cell array which contains numeric and non-numeric data. I need to convert this cell array into a numeric array with all the non-numerical elements set to 'NaN'.
I have tried the CELL2MAT function but this function does not work with non-numerical data types.
Réponse acceptée
MathWorks Support Team
le 27 Juin 2009
The ability to automatically convert cell arrays which contain both numeric and non-numeric data types is not available in MATLAB 7.6 (R2008a).
However, there are a number of ways to programmatically achieve conversion of a cell array to numeric data. One such method using CELLFUN is shown below:
Let x be a cell array containing both numeric and non-numeric data
x = {'text', 34; 45, @(a)2*a}
Find logical indices to all numeric elements of x
numind = cellfun(@isnumeric, x);
Replace non-numeric indices with NaNs
x(~numind) = {NaN}
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Cell Arrays 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!