Matlab 在不同维度中使用矩阵

Matlab 在不同维度中使用矩阵,matlab,matrix,reshape,dimension,Matlab,Matrix,Reshape,Dimension,我有一个尺寸为65536x2的矩阵,我想和另一个尺寸为256x256的矩阵一起使用。如何将第一个矩阵维度更改为256x256?我尝试了如下重塑: N=reshape(u,256,256); 但是,出现以下错误: Error using reshape To RESHAPE the number of elements must not change. 在这种情况下我该怎么办 谢谢 编辑 最初的问题提到了1x65536,但意识到它应该是65536x2您可以使用N=regrapeu,256,[

我有一个尺寸为65536x2的矩阵,我想和另一个尺寸为256x256的矩阵一起使用。如何将第一个矩阵维度更改为256x256?我尝试了如下重塑:

 N=reshape(u,256,256);
但是,出现以下错误:

Error using reshape
To RESHAPE the number of elements must not change.
在这种情况下我该怎么办

谢谢

编辑

最初的问题提到了1x65536,但意识到它应该是65536x2

您可以使用N=regrapeu,256,[],然后验证sizeN是256 x 256。此重塑语法自动将[]指定的维度调整为适合数组中元素数量所需的大小

编辑:我自己尝试将一个随机1 x 65536矩阵重塑为一个256 x 256矩阵时,两种语法都没有问题,因此我建议您验证您的初始矩阵实际上也是1 x 65536。

您无法将65536-by-2数组重塑为256-by-256您有额外的65536元素

试一试


如果出现错误,请使用调试器:>>dbstop,并验证numelu确实是65536。请注意,只有当numelu是256的倍数时,它才会工作。@Engineero。你是对的。我注意到矩阵的大小是65536x2。在这种情况下,我仍然可以对其进行整形吗?是的,您只需要使用REGRAPHEEU、256、[]命令得到一个256 x 512的矩阵。
>> reshape( u, 256, 256 ,[] );