How do I extract 3D matrix from 5D matrix

12 次查看(过去 30 天)
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
John D'Errico 2019-6-12
编辑:John D'Errico 2019-6-12
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.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by