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

Antworten (2)

Matt J
Matt J am 24 Dez. 2013
Bearbeitet: Matt J am 24 Dez. 2013

0 Stimmen

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.

Kategorien

Gefragt:

am 24 Dez. 2013

Kommentiert:

am 25 Dez. 2013

Community Treasure Hunt

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

Start Hunting!

Translated by