How do I extract 3D matrix from 5D matrix

13 Ansichten (letzte 30 Tage)
Yapo OBOUE
Yapo OBOUE am 12 Jun. 2019
Kommentiert: Yapo OBOUE am 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 ?

Akzeptierte Antwort

John D'Errico
John D'Errico am 12 Jun. 2019
Bearbeitet: John D'Errico am 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 Kommentar
Yapo OBOUE
Yapo OBOUE am 12 Jun. 2019
Thanks very much dear John D'Errico. It works very as I wanted. Thank a lot.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by