首页 > 代码库 > matlab使用reshape时按照列优先原则取元素和摆放元素

matlab使用reshape时按照列优先原则取元素和摆放元素

参考 http://blog.csdn.net/superdont/article/details/3992033

a=[1  2

3  4]

如果使用b=reshape(a,1,4),则得到的结果是  b=[1 3 2 4]

如果想得到b=[1 2 3 4],  需要使用  b=reshape(a‘,1,4)

因为reshape使用的列优先!(就是说按照列取元素,然后按照列重新放元素)

b转化回去是同样的道理。

例题如下:

 

>> a=[1 ,2 ;3,4]
a =
     1     2
     3     4
>> b=reshape(a,1,4)
b =
     1     3     2     4
>> b=reshape(a,1,4)
b =
     1     2     3     4
>> a=reshape(b,2,2)
a =
     1     3
     2     4
>> a=reshape(b,2,2)
a =
     1     3
     2     4