Extracting a vector from a 3d array

58 visualizaciones (últimos 30 días)
Graham
Graham el 29 de Abr. de 2014
Comentada: the cyclist el 19 de Oct. de 2023
Hi, I have a 3d array called 'A' of size (l,m,n)=12x15x3648.
I want to extract all 3648 values for a given index (l,m) as a single column vector. Doing A(7,8,:) for example outputs many individual answers and is not useful. I would like them in a vector which is 3648 elements long.
Any help is appreciated. Thanks.

Respuesta aceptada

the cyclist
the cyclist el 29 de Abr. de 2014
Editada: the cyclist el 29 de Abr. de 2014
Two alternatives:
squeeze(A(7,8,:))
and
permute(A(7,8,:),[3 1 2])
  3 comentarios
Gianmarco Venditti
Gianmarco Venditti el 19 de Oct. de 2023
Why doing something like:
X = A(:,7,8) you have vector ( a one index object)
while
X = A(7,8,:) produce a 4-D tensor? (Still have 4 index)
the cyclist
the cyclist el 19 de Oct. de 2023
Can you upload an example of an array A where you see that happening? You can attach a MAT file using the paper clip icon in the INSERT section of the toolbar.

Iniciar sesión para comentar.

Más respuestas (2)

ABHIJITH U V
ABHIJITH U V el 20 de Nov. de 2018
Hello
I would like to extract all the values 468 from a 3 d - array of size (2,2,468) into a vector. How to do this ??

Giorgio Sperandio
Giorgio Sperandio el 18 de Jun. de 2020
Very interesting,
Would it be possible to loop the squeeze function in order to obtain the 3648 values from all the l,m indexes?
Thanks

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by