Transform matrix in vectors in a cell array

hi,
I have a cell of n matrix of size m * m. I want to turn it into m vectors of size n knowing that: example: transform
c = {[3 2;1 4] [6 8;7 5] [0 10;9 11]}
to
d = {[3 6 0] [2 8 10] [1 7 9] [4 5 11]}
without using (for end) because the size of my matrix is large
thank you in advance

Answers (2)

Matt J
Matt J on 24 Dec 2013
Edited: Matt J on 24 Dec 2013
There is no way you can do this without at least an implicit for-loop
C=cat(3,c{:});
D=permute(C,[2,3,1]);
d=reshape(num2cell(D,2),[],1); %uses for-loop inside num2cell.m
I don't understand why you wouldn't just work with the 3D numeric array C or D.

Categories

Asked:

on 24 Dec 2013

Commented:

on 25 Dec 2013

Community Treasure Hunt

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

Start Hunting!