根据运算时不同情况和需要,矩阵大小和结构的改变,主要的方式有旋转矩阵、改变矩阵维度、删除矩阵元素等。MATLAB种提供的具体此类函数如表所示。
函数名称 | 函数功能 |
fliplr(A) | 矩阵每一行均进行逆序排列 |
flipud(A) | 矩阵每一列均进行逆序排列 |
flipdim(A,dim) | 生成一个在dim维矩阵A内的元素交换位置的多维矩阵 |
rot90(A) | 生成一个由矩阵A逆时针旋转90°而得到的新矩阵 |
rot90(A,k) | 生成一个由矩阵A逆时针旋转k✖90°而得到的新矩阵 |
reshape(A,m,n) | 生成一个m✖n✖...✖p维组成的矩阵,其元素以线性索引的顺序从矩阵A中取得,如果矩阵A中没有m✖n✖...✖p个元素,则返回一个错误信息 |
repmat(A,[m n...p]) | 创建一个和矩阵A有相同元素的m✖n✖...✖p块的多维矩阵 |
shiftdim(A,n) | 矩阵列移动n步。n为正数,矩阵向左移;n为负数,矩阵向右移动 |
squeeze(A) | 返回没有空维的矩阵A |
cat(dim,A) | 将矩阵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为‘discend’时,进行降序排序 |
[B,IX]=sort(A,...) | IX为排序后备元素在原矩阵中的行位置或列位置的索引 |