# How do I extract 3D matrix from 5D matrix

9 views (last 30 days)
Yapo OBOUE on 12 Jun 2019
Commented: Yapo OBOUE on 12 Jun 2019
Hi everyone !
I working on 5D matrix configured as follow : [nt, nx, ny, np, nz]=size(D), such nt= 301; nx=12; ny=12; np=12; nz=12. I need to extract two matrices from D.
• the first one A of size : [nt, nx, ny]=size(A);
• the second B of size ; [nt, np, nz] =size(B);
Is there any Matlab code to extract these 3D matrices from D ?

John D'Errico on 12 Jun 2019
Edited: John D'Errico on 12 Jun 2019
What does it mean to extract a specific matrix?
p = 1;
z = 1;
A = D(:,:,:,p,z);
is a matrix of the desired size, extracting the (p,z) submatrix from D. But you may mean something completely different.
For the latter, you need to learn how to use squeeze.
x = 1;
y = 1;
B = squeeze(D(:,x,y,:,:));
Time to read the manual for you, since you need to learn about indexing matrices, something basic.

#### 1 Comment

Yapo OBOUE on 12 Jun 2019
Thanks very much dear John D'Errico. It works very as I wanted. Thank a lot.