我有一个维度为65536x2
的矩阵,我希望将其与另一个维度256x256
一起使用。如何将第一个矩阵维度更改为256x256
?我尝试reshape
如下:
N=reshape(u,256,256);
但是,出现了以下错误:
Error using reshape
To RESHAPE the number of elements must not change.
在这种情况下我该怎么做?
感谢。
编辑
原始问题提到1x65536
,但意识到它应该是65536x2
答案 0 :(得分:2)
您可以使用N = reshape(u, 256, [])
,然后验证size(N)
是256 x 256
。 reshape
的此语法会自动将[]
指定的维度调整为适合数组中元素数量的所需内容。
编辑:我自己尝试将随机1 x 65536
矩阵重塑为256 x 256
矩阵,这两种语法都没有问题,所以我建议你验证一下初始矩阵实际上也是1 x 65536
。
答案 1 :(得分:0)
您不能reshape
65536-by-2阵列进入256×256,你有“额外”65536个元素......
试
>> reshape( u, 256, 256 ,[] );