Azzera filtri
Azzera filtri

loop for 3d matrix to numerous 2d matrices

1 visualizzazione (ultimi 30 giorni)
john
john il 22 Gen 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,:); ...

Risposte (2)

José-Luis
José-Luis il 22 Gen 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 il 22 Gen 2013
Modificato: Matt J il 22 Gen 2013
C=num2cell(permute(a,[1,3,2]),[1,2]);

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by