Clear Filters
Clear Filters

loop for 3d matrix to numerous 2d matrices

1 view (last 30 days)
john
john on 22 Jan 2013
I have a 3d matrix which is too large to be viewed in the variable editor as it is (134,68,243). And need to put the data into 68 readable 2d matrices. I have done some the labourious way but i was wondering if there was a quicker way to do it
a1 = a(:,1,:); a2 = a(:,2,:); a3 = a(:,3,:); a4 = a(:,4,:); a5 = a(:,5,:); ...

Answers (2)

José-Luis
José-Luis on 22 Jan 2013
You could try using a cell array instead:
your_mat = rand(10,20,30);
[m n o] = size(your_mat);
your_mat = squeeze(mat2cell(your_mat,m,n,ones(1,o)));

Matt J
Matt J on 22 Jan 2013
Edited: Matt J on 22 Jan 2013
C=num2cell(permute(a,[1,3,2]),[1,2]);

Categories

Find more on Loops and Conditional Statements 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!