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
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
who:whaozl
QQ:1057674944
email:whaozl@163.com
blog:http://www.cnblogs.com/whaozl
note:原创博客请尊重版权,转载必须得到本人同意