将1x4x1001矩阵重塑为2x2x1001

use*_*821 0 matlab matrix reshape

嗨,
与MatLab合作,我正在尝试将1x4x1001矩阵重塑为a 2x2x1001.
我已经尝试使用,reshape但我没有成功.

谁能帮我?

谢谢

Eng*_*ero 5

reshape(A,2,2,1001)或者reshape(A,2,2,size(A,3))应该做的伎俩.无论如何,您必须确保您尝试重塑的形状对于每个元素以及原始对象的每个元素都有空间.请注意,您可以将其中一个维度留空并让reshape自己弄清楚,例如 reshape(A,2,2,[]).

我在Octave和MATLAB上对它进行了测试,它看起来很有效,但你可能需要进行一些操作才能让元素按照你想要的顺序重新整形.

编辑:根据@woodchips评论修正了我的答案中的一点.

  • reshape(A,2,2,:)是无效的matlab语法,而不是它不是显式的.reshape(A,2,2,[])是有效的语法,并且会成功.将最后一个维度留空的好处是MATLAB可以找出需要的东西. (2认同)