MATLAB6:矩阵大小和结构变换

矩阵大小和结构变换

一、flip翻转

  fliplr(A) 矩阵每一行逆序排列(左右翻转)
  flipud(A) 矩阵每一列逆序排列(上下翻转)
  flip(A,dim) 在dim维度上反转A矩阵元素的顺序

>> A=diag([100 200 300])
A =
   100     0     0
     0   200     0
     0     0   300
>> fliplr(A)
ans =
     0     0   100
     0   200     0
   300     0     0
>> flipud(A)
ans =
     0     0   300
     0   200     0
   100     0     0
>> flip(A,1)
ans =
     0     0   300
     0   200     0
   100     0     0
>> flip(A,2)
ans =
     0     0   100
     0   200     0
   300     0     0

二、rot90(A)旋转

  rot90(A) 将矩阵A逆时针旋转90°
  rot90(A,k) 将矩阵A逆时针旋转k*90°

三、reshape变形

  reshape(A,m,n,…,p) 生成m * n * … * p矩阵,值以线性顺序从A中排列,需要A中元素有m * n * … * p个
  repmat(A,[m n … p]) 创建与A矩阵有相同元素的m * n * … * p多维矩阵

>> A = magic(6);
>> A
A =
    35     1     6    26    19    24
     3    32     7    21    23    25
    31     9     2    22    27    20
     8    28    33    17    10    15
    30     5    34    12    14    16
     4    36    29    13    18    11
>> B = reshape(A,[],3)  %[]表示计算所得,此处=6*6/3=12,变形为12*3矩阵,B中元素的顺序值与A相同。
B =
    35     6    19
     3     7    23
    31     2    27
     8    33    10
    30    34    14
     4    29    18
     1    26    24
    32    21    25
     9    22    20
    28    17    15
     5    12    16
    36    13    11
>> repmat(A,[2,1])

ans =

    35     1     6    26    19    24
     3    32     7    21    23    25
    31     9     2    22    27    20
     8    28    33    17    10    15
    30     5    34    12    14    16
     4    36    29    13    18    11
    35     1     6    26    19    24
     3    32     7    21    23    25
    31     9     2    22    27    20
     8    28    33    17    10    15
    30     5    34    12    14    16
     4    36    29    13    18    11

四、移动和排序

  shiftdim(A,n) 矩阵的列移动n步,n>0时左移,n<0时右移
  squeeze(A) 删除A矩阵中的单一维度
  permute(A,order) 根据向量order改变矩阵A的维数顺序
  ipermute(A,order) permute函数的逆变换
  sort(A) 对矩阵A的元素升序排序,当A为二维矩阵时,对每一列分别排序
  sort(A,dim) 当dim=1时,对矩阵列排序;当dim=2时,对矩阵行排序
  sort(A,dim,mode) 当mode='ascend’时,升序排序;当mode='descend’时,降序排序

你可能感兴趣的:(MATLAB6:矩阵大小和结构变换)