如何在matlab中切割3D矩阵获取数组

And*_*dry 4 matlab

考虑在matlab中有一个3D矩阵

A(:,:,1) = [1 2 3;4 5 6;7 8 9];
A(:,:,2) = [11 22 33;44 55 66;77 88 99];
A(:,:,3) = [111 222 333;444 555 666;777 888 999];
Run Code Online (Sandbox Code Playgroud)

好吧,当我要求

A(1:end,1,:)
Run Code Online (Sandbox Code Playgroud)

我得到三个不同的答案:

A(1:end,1,1) = [1 2 3];

A(1:end,1,2) = [11 22 33];

A(1:end,1,3) = [111 222 333];
Run Code Online (Sandbox Code Playgroud)

我想在没有循环的情况下在一条指令中得到这个,依此类推:

[1 2 3;11 22 33;111 222 333]
Run Code Online (Sandbox Code Playgroud)

怎么弄?

我想要一个新矩阵而不是一系列向量.

谢谢.

Hig*_*ark 7

squeeze(A(1,:,:))'
Run Code Online (Sandbox Code Playgroud)

作品.我认为,如果我要么更聪明或愿意花更多的时间在这上面,我可以在没有转置的情况下做到这一点,但这应该指向正确的方向.

  • 一直在寻找这个问题的解决方案,不知道为什么squeeze()没有得到更多的爱. (2认同)