How to change the dimensions of a matrix?

I have a list of matrices with dimensions of time x latitude x longitude (733x311x720). I'd prefer the matrices to have dimensions of latitude x longitude x time (311x720x733) that way I can concatenate all of them into one matrix and organize them by time. Is there any way I can do this? I read about reshape but I'm not sure it'll do what I want.

Respuestas (1)

You could use permute to do this, though it's maybe worth noting that you can concatenate matrices regardless of the shape (you might want the cat function to help)
x=reshape(1:24,3,4,2);
y=permute(x, [3 1 2])
y =
y(:,:,1) = 1 2 3 13 14 15 y(:,:,2) = 4 5 6 16 17 18 y(:,:,3) = 7 8 9 19 20 21 y(:,:,4) = 10 11 12 22 23 24

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Preguntada:

el 14 de Abr. de 2023

Respondida:

el 14 de Abr. de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by