MATLAB: Can I use mat2cell to divide a long column vector into several equal sized vectors

celldividemat2cellvector

Hello,
I see the use of mat2cell, e.g. a = mat2cell(b, [m n], [x y z]). This means I'll have to assign value to m and n.
Is there a way to use a variable instead of scalar to indicate size of cells in mat2cell? For example,
b = rand(100, 1);
c = 5;
a = mat2cell(b, [c]);
So that a results in 5 cells which is 20 by 1 vector each.
Thanks!

Best Answer

Yes:
a = mat2cell(b, fix(size(b,1)/c)*ones(1,c), 1);