Newbie question - converting a vector into a cellarray of vectors
Show older comments
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
More Answers (1)
Jan
on 8 Jul 2011
More efficient, because shared data copies are created:
C = cell(N, 1);
C(:) = {X};
2 Comments
Oleg Komarov
on 8 Jul 2011
C(1:N) = deal({X}); Same behaviour?
Jan
on 8 Jul 2011
@Oleg: Same behaviour and equivalent speed.
Categories
Find more on Cell Arrays 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!