How to change the dimensions of a matrix?

4 次查看(过去 30 天)
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.

回答(1 个)

Dave B
Dave B 2023-4-14
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

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by