How can I convert a cell array into a numeric array using MATLAB replacing non-numeric values to NaN?

6 visualizaciones (últimos 30 días)
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.

Respuesta aceptada

MathWorks Support Team
MathWorks Support Team el 27 de Jun. de 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}

Más respuestas (0)

Categorías

Más información sobre Cell Arrays en Help Center y File Exchange.

Productos


Versión

R2008a

Community Treasure Hunt

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

Start Hunting!

Translated by