matlab使用reshape应该注意的问题

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转化回去是同样的道理。

例题如下:

=========================================

view plaincopy to clipboardprint?
>> 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 

 

你可能感兴趣的:(matlab)