Newbie question - converting a vector into a cellarray of vectors

1 view (last 30 days)
I have a vector X and want a cell array C containing N copies of that vector. How do I do that?
Here is how I am doing it now:
X = 1:5; N = 3;
C = mat2cell( repmat( X, N, 1 ), ones( N, 1 ), size( X, 2 ) );
This just feels like something that should be a primitive - converting back & frth betweenmatrices and cellarrays in different ways.

Accepted Answer

Oleg Komarov
Oleg Komarov on 7 Jul 2011
% To cell
C = repmat({X},N,1);
% To mat
cell2mat(C)
cat(1,C{:})

More Answers (1)

Jan
Jan on 8 Jul 2011
More efficient, because shared data copies are created:
C = cell(N, 1);
C(:) = {X};

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!