MATLAB®中的许多函数可以采用现有阵列的元素,并将它们置于不同的形状或序列中。这有助于为后续计算预处理数据或分析数据。
这个重塑
函数更改数组的大小和形状。例如,将3×4矩阵重塑为2×6矩阵。
A=[1 4 7 10;2 5 8 11;3 6 9 12]
A=3×41 4 7 10 2 5 8 11 3 6 9 12
B=重塑(A,2,6)
B =2×61 3 5 7 9 11 2 4 6 8 10 12
只要每个形状中的元素数量相同,就可以将它们重塑为具有任意维数的数组。使用来自的元素A.
,创建一个2×2×3多维数组。
C=重塑(A,2,2,3)
C=C(:,:,1)=1 3 2 4 C(:,:,2)=5 7 6 8 C(:,:,3)=9 11 10 12
线性代数中的一个常见任务是处理矩阵的转置,它将行转换为列,将列转换为行。要执行此操作,请使用转置
功能或”。
操作人员
创建一个3乘3的矩阵并计算其转置。
=魔法(3)
A=3×38 1 6 3 5 7 4 9 2
B=A.'
B =3×38 3 4 1 5 9 6 7 2
类似的操作员'
计算复矩阵的共轭转置。此操作计算每个元素的复数共轭并将其转置。创建一个2乘2的复矩阵并计算其共轭转置。
A=[1+I1-i;-Ii]
A=2×2复杂1.0000+1.0000i 1.0000-1.0000i 0.0000-1.0000i 0.0000+1.0000i
B=A'
B =2×2复杂1.0000-1.0000i 0.0000+1.0000i 1.0000+1.0000i 0.0000-1.0000i
矩阵的上下翻转
将矩阵的行向上向下翻转,然后fliplr
从左向右翻转列。
A = [1 2;3 4]
A=2×21 2 3 4
B = flipud (A)
B =2×23 4 1 2
C=fliplr(A)
C =2×22 1 4 3
可以使用环移
功能。例如,创建一个3×4矩阵,并将其列向右移动2。第二个论点[0 2]
告诉环移
将行向右移动0个位置,将列向右移动2个位置。
A=[1 2 3 4;5 6 7 8;9 10 11 12]
A=3×41 2 3 4 5 6 7 8 9 10 11 12
B = circshift(A,[0 2])
B =3×43 4 12 7 8 5 6 11 12 9 10
移动…的行A.
将第二个参数指定为[-1 0]
.
C = circshift(A,[-1 0])
C =3×45 6 7 8 9 10 11 12 12 3 4
这个rot90
函数可以将矩阵逆时针旋转90度。
A = [1 2;3 4]
A=2×21 2 3 4
B=90(A)
B =2×22 4 1 3
如果您使用第二个参数来指定旋转的次数,再旋转3次,您将得到原始矩阵A.
.
C=rot90(B,3)
C =2×21 2 3 4
对数组中的数据进行排序也是一个很有价值的工具,MATLAB提供了许多方法。例如排序
函数按升序或降序分别对矩阵中每行或每列的元素进行排序。创建一个矩阵A.
并对每个列进行排序A.
按升序排列。
A=魔术(4)
A=4×416 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
B=排序(A)
B =4×44 2 3 15 7 6 8 9 11 10 12 16 14 15 13
按降序排列每行。第二个参数值2.
指定要按行排序。
C=排序(A,2,“下降”)
C =4×416 13 3 2 11 10 8 5 12 9 7 6 15 14 4 1
要相对地对整行或整列进行排序,请使用索特罗斯
功能。例如,对A.
按第一列的元素升序排列。行的位置会改变,但每行中元素的顺序会保留。
D=sortrows(A)
D=4×44 14 15 1 5 11 10 8 9 7 6 12 16 2 3 13