MATLAB Answers

0

How do I extract 3D matrix from 5D matrix

Asked by Yapo OBOUE on 12 Jun 2019
Latest activity Commented on by 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 ?

  0 Comments

Sign in to comment.

1 Answer

Answer by John D'Errico
on 12 Jun 2019
Edited by John D'Errico
on 12 Jun 2019
 Accepted Answer

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

Thanks very much dear John D'Errico. It works very as I wanted. Thank a lot.

Sign in to comment.