MATLAB重新排列数组元素的一些函数用法
的有关信息介绍如下:介绍使用MATLAB对数组进行元素重排操作,本篇经验涉及函数reshape, rot90, shiftdim.还有permute ipermute等函数在其它经验有讲解。
使用reshape函数可以重排列表。基础用法是对一个列表,reshape(A,[2,3])将列表A重排成2*3的矩阵。
如果reshape对一个高维数组操作,就好像首先将该数组按照维度顺序展成一维列表,然后再重新划分。
如图,B中元素顺序是1 4 2 5 3 6,因此reshape后得到如图数组。
使用reshape函数时,第二个参数也可以不必是列表,可以有多个参数分别代表各个维度的长度,也可以使用一对重括号略去某一维的数值,由函数就算这一维的长度。
使用省略的维度输入时,要注意reshape要求维度划分能够除尽,不能多元素少元素。
rot90函数每次可将一维,二维或者高维数组,在第一第二维的平面内逆时针旋转。默认旋转90°。可以带有第二个参数表示旋转多少个90°,可以是负数。
shiftdim(数组,平移数)可以将数组的维度向低维平移,比如本来是5*4*2的数组,平移数为1时结果为4*2*5的数组。数组元素跟着维度移动。
当shiftdim不带有第二个参数时,可以对一个高维数组清除前导的冗余维度(长度为1)。返回值可以有两个,第二个是清除的维度数。