使用不同维度的矩阵

时间:2013-06-17 13:22:37

标签: matlab matrix reshape dimension

我有一个维度为65536x2的矩阵,我希望将其与另一个维度256x256一起使用。如何将第一个矩阵维度更改为256x256?我尝试reshape如下:

 N=reshape(u,256,256);

但是,出现了以下错误:

Error using reshape
To RESHAPE the number of elements must not change.

在这种情况下我该怎么做?

感谢。

编辑

原始问题提到1x65536,但意识到它应该是65536x2

2 个答案:

答案 0 :(得分:2)

您可以使用N = reshape(u, 256, []),然后验证size(N)256 x 256reshape的此语法会自动将[]指定的维度调整为适合数组中元素数量的所需内容。

编辑:我自己尝试将随机1 x 65536矩阵重塑为256 x 256矩阵,这两种语法都没有问题,所以我建议你验证一下初始矩阵实际上也是1 x 65536

答案 1 :(得分:0)

您不能reshape 65536-by-2阵列进入256×256,你有“额外”65536个元素......

>> reshape( u, 256, 256 ,[] );