-4

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

 N=reshape(u,256,256);

但是,得到以下错误:

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

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

谢谢。

编辑

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

4

2 回答 2

2

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

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

于 2013-06-17T13:51:08.677 回答
0

你不能将reshape65536×2 数组变成 256×256 你有“额外”的 65536 个元素......

尝试

>> reshape( u, 256, 256 ,[] );
于 2013-06-17T14:08:32.567 回答