matlab reshape矩阵维度变换

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/caomin1hao/article/details/81876720
  1.      B = reshape(A,m,n)  将矩阵A的元素返回到一个m×n的矩阵B。如果A中没有m×n个元素则返回一个错误。  
  2.      B = reshape(A,m,n,p,...) or B =reshape(A,[m n p ...]) A中元素进行重塑成m×n×p×…的矩阵,特别地,指定的维数m×n×p×…的积必须与prod(size(A))相同。  
  3.      B = reshape(A,...,[],...)  指定某维数后,剩余的维数长度值用占位符[]来表示,使得维数的乘积等于prod(size(A))prod(size(A))的值必须被指定维数的乘积平分。prod(size)的数目必须和prod(size(A))相同。

示例:

已知矩阵A A = 1 4 7 10 ;2 5 8 11; 3 6 9 12  

1).就是变换成特定维数的矩阵

2).按照列的顺序进行转换的,也就是第一列读完,读第二列,按列存放,下面请看具体例子:

>> A = [1 4 7 10 ;2 5 8 11; 3 6 9 12 ]
A =
     1     4     7    10
     2     5     8    11

     3     6     9    12

>> B=reshape(A,2,6)
B =
     1     3     5     7     9    11
     2     4     6     8    10    12

>> B=reshape(A,2,[])
B =
     1     3     5     7     9    11
     2     4     6     8    10    12

 

猜你喜欢

转载自blog.csdn.net/caomin1hao/article/details/81876720
今日推荐