I have a 6000x9424x50 matrix and want to convert it into 6000x9424x10 and 6000x9424x20?? I meant to to split 50 bands to 10 or 20 bands individually?
14 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
band1(6000:9424;10) will this work?
0 commentaires
Réponse acceptée
David Sanchez
le 22 Fév 2016
your_matrix = rand(6000,9424,50); % random matrix
M_10 = your_matrix(:,:,1:10); % 10 bands
M_20 = your_matrix(:,:,11:30); % 20 next bands
0 commentaires
Plus de réponses (1)
Stephen23
le 22 Fév 2016
Modifié(e) : Stephen23
le 22 Fév 2016
>> X = rand(600,942,50); % fake data
>> C = mat2cell(X,size(X,1),size(X,2),[10,10,20,10]) % split matrix
>> size(C{1}) % size of the first submatrix
ans =
600 942 10
>> size(C{3}) % size of the third submatrix
ans =
600 942 20
Note:
- the submatrices are accessed using cell array indexing into C: e.g. C{1}, C{2}, etc.
- the dimension arguments must sum to equal the size of that dimension, e.g. sum([10,10,20,10])==50.
2 commentaires
Voir également
Catégories
En savoir plus sur Matrix Operations dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!