matlab大小以及结构改变

函数名称 函数功能
fliplr(A) 矩阵每一行均进行逆序排列
flipud(A) 矩阵每一列均进行逆序排列
flipdim(A, dim) 生成一个在 dim 维矩阵 A 内的元素交换位置的多维矩阵
rot90(A) 生成一个由矩阵 A 逆时针旋转 90°而得到的新矩阵
rot90(A, k) 生成一个由矩阵 A 逆时针旋转 kx90°而得到的新矩阵
reshape(A , m , n) 生成一个 m x n 维的矩阵,其元素以线性索引的顺序从矩阵 A 中取得如果矩阵 A 中没有 mxnx 个元素,将返回一条错误信息
repmat(A,[m n···p]) 创建一个和矩阵 A 有相同元素的 mxnx···xp 块的多维矩阵
shiftdim(A , n) 矩阵的列移动n 步。n 为正数,矩阵向左移;n 为负数,矩阵向右移
squeeze(A) 返回没有空维的矩阵 A
cat( dim,A, B) 将矩阵 A和 B 组合成一个 dim 维的多维矩阵
permute(A, order) 根据向量 order 来改变矩阵 A 中的维数顺序
ipermute(A. order) 进行命令 permute 的逆变换
sort(A) 对一维或二维矩阵进行升序排序,并返回排序后的矩阵当 A 为二维矩阵时,对知阵的每一列分别进行排序
sort( A. dim) 对矩阵按指定的方向进行升序排序,并返回排序后的矩阵。当 dim=1 时,对矩阵的每一列排序:当 dim=2 时,对知阵的每一行排序
sort(A, dim, mode) 当 mode 为’ascend时,进行升序排序;当 mode 为descend时,进行降序排序
[B,IX] = sort(A…·.) IX 为排序后备元素在原矩阵中的行位置或列位置的索引

fliplr

>> a=[1 2 3;4 5 6;7 8 9]

a =

     1     2     3
     4     5     6
     7     8     9

>> fliplr(a)

ans =

     3     2     1
     6     5     4
     9     8     7

flipud

>> flipud(a)

ans =

     7     8     9
     4     5     6
     1     2     3

flipdim


>> flipdim(a,2)

ans =

     3     2     1
     6     5     4
     9     8     7

>> flipdim(a,3)

ans =

     1     2     3
     4     5     6
     7     8     9

>> flipdim(a,1)

ans =

     7     8     9
     4     5     6
     1     2     3

rot90

>> rot90(a)

ans =

     3     6     9
     2     5     8
     1     4     7

>> rot90(a,2)

ans =

     9     8     7
     6     5     4
     3     2     1

reshape

>> reshape(a,3,2)
错误使用 reshape
元素数不能更改。请使用 [] 作为大小输入之一,以自动计算该维度的适当大小。
 
>> reshape(a,3,3)

ans =

     1     2     3
     4     5     6
     7     8     9

repmat

>> repmat(a,[2,2,2])

ans(:,:,1) =

     1     2     3     1     2     3
     4     5     6     4     5     6
     7     8     9     7     8     9
     1     2     3     1     2     3
     4     5     6     4     5     6
     7     8     9     7     8     9


ans(:,:,2) =

     1     2     3     1     2     3
     4     5     6     4     5     6
     7     8     9     7     8     9
     1     2     3     1     2     3
     4     5     6     4     5     6
     7     8     9     7     8     9

shiftdim

>> shiftdim(a,1)

ans =

     1     4     7
     2     5     8
     3     6     9

>> shiftdim(a,-1)

ans(:,:,1) =

     1     4     7


ans(:,:,2) =

     2     5     8


ans(:,:,3) =

     3     6     9

cat

>> cat(2,a,b)

ans =

     1     2     3     1     0     1
     4     5     6     2     2     0
     7     8     9     0     0     0

>> cat(3,a,b)

ans(:,:,1) =

     1     2     3
     4     5     6
     7     8     9


ans(:,:,2) =

     1     0     1
     2     2     0
     0     0     0

>> cat(1,a,b)

ans =

     1     2     3
     4     5     6
     7     8     9
     1     0     1
     2     2     0
     0     0     0
     
>> cat(4,a,b)

ans(:,:,1,1) =

     1     2     3
     4     5     6
     7     8     9


ans(:,:,1,2) =

     1     0     1
     2     2     0
     0     0     0

sort

>> sort([2 3 4 1 0 9 8 6])

ans =

     0     1     2     3     4     6     8     9
     
>> x=rot90(a,2)

x =

     9     8     7
     6     5     4
     3     2     1

>> sort(x,1)

ans =

     3     2     1
     6     5     4
     9     8     7

>> sort(x,2)

ans =

     7     8     9
     4     5     6
     1     2     3
     
>> sort(x,1,'ascend')

ans =

     3     2     1
     6     5     4
     9     8     7

>> sort(x,1,'descend')

ans =

     9     8     7
     6     5     4
     3     2     1

>> sort(x,2,'descend')

ans =

     9     8     7
     6     5     4
     3     2     1

>> sort(x,2,'ascend')

ans =

     7     8     9
     4     5     6
     1     2     3

你可能感兴趣的:(Matlab,matlab,算法,开发语言)