How to get part of 2D array from a 2D array. (i.e. 4x4 array to 2x2x4)

2 visualizzazioni (ultimi 30 giorni)
I would like to disassemble 2D array to specific size of 2D array as following image without "for loop".
I know, we can use for loop to get that.
test=[1 1 2 2; 1 1 2 2; 3 3 4 4; 3 3 4 4];
k=0;
for j=1:2:size(test,1)
for i=1:2:size(test,2)
k=k+1
DisassembleArray(:,:,k)=test(j:j+1,i:i+1)
end
end
Is it possible to disassemble 2D array as I mention?
If yes, could you show me a sample code?

Risposta accettata

David Hill
David Hill il 27 Nov 2020
A=reshape([a(1:2,:),a(3:4,:)],2,2,4);

Più risposte (0)

Prodotti


Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by