CELL2VEC - Concatenate cell elements to a vector
V = Cell2Vec(C)
INPUT:
C: Cell array of any size and types:
DOUBLE, SINGLE, (U)INT8/16/32/64, LOGICAL, CHAR.
The elements of C can have different sizes.
OUTPUT:
V: [1 x N] vector of all elements.
EXAMPLE:
C = {1, 2; 3, 4};
V = Cell2Vec(C) % [1, 3, 2, 4] columnwise order
M = reshape(V, size(C)) % [1, 2; 3, 4]
This C-Mex is up to 5 times faster than CAT(C{:}), HORZCAT or CELL2MAT.
Pre-compiled Mex-files can be downloaded: http://www.n-simon.de/mex
Run the unit-test uTest_Cell2Vec after compiling.
Tested: Matlab 6.5, 7.7, 7.8, WinXP, 32bit
Compiler: LCC2.4/3.8, BCC5.5, OWC1.8, MSVC2008
Assumed Compatibility: higher Matlab versions, Mac, Linux, 64bit
See also: CStr2String, CELL2MAT.
Jan (2021). Cell2Vec (https://www.mathworks.com/matlabcentral/fileexchange/28916-cell2vec), MATLAB Central File Exchange. Retrieved .
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Create scripts with code, output, and formatted text in a single executable document.
@Misha, you have to compile the C-file as described in the section "COMPILATION" in the help text - see "help Cell2Vec".
Hi Jan,
Am I doing something wrong in trying to use this patch? I've dropped it in my main matlab folder. When I try to run:
a =
1 5 9
2 6 10
3 7 11
4 8 12
>> v = cell2vec(a)
i get an error:
Error using Cell2Vec (line 41)
Cannot find Mex file of Cell2Vec
This is very useful tool and important submission. I was able trivially to reimplement the out of the box implementation of cell2mat which is very slow and got huge increases in overall speed!!