Description |
CELL2FLOAT - converts cell array into scalar float array
M = CELL2FLOAT(C) returns a float array M with the same size as the cell array C. C can be any N-dimensional cell array. Cells of C that contain a scalar float (single or double) are put in corresponding locations of M. Cells that contain other datatypes (e.g., strings, arrays, empty, integers, etc.) yield NaNs in the corresponding locations of M.
M = CELL2FLOAT(C,F) uses the value F instead of NaN to fill these latter locations. F should be a scalar float (single or double).
M = CELL2FLOAT(C,F,'error') will cause the program to error if a cell does not contain a scalar float. If F is empty ([]), NaN will be used as the filler value.
[M,Q] = CELL2FLOAT(C, ..) returns a logical array Q with logical ones (true) where the values of C are floats, and logical zeros (false) elsewhere.
Examples:
C = {single(1) 2 'x' [] ; 1:3 complex(1,2) uint8(1) Inf}
M = cell2float(C)
% -> [ 1.00 2.00 NaN NaN ;
% NaN 1.00 + 2.00i NaN Inf ]
cell2float({1 2 [] 3 [] 5},999)
% -> [ 1 2 999 3 999 5 ]
cell2float({1,2,'x'},[],'error')
% ??? Error using ==> cell2float at 80
% Not all cells contain a scalar float.
See also cell2mat, cellfun, num2cell
version 4.0 jan 2010 |