主要内容

重塑和重新排列阵列

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

只要每个形状中的元素数相同,您就可以将它们重新塑入具有任意数量尺寸的阵列中。使用来自的元素一种,创建一个2×2×3的多维数组。

C = REPAPE(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 + i 1-i;- 我]
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

fl将矩阵的行向上向下翻转,然后Pliplr.在左右方向上翻转列。

A = [1 2;3 4]
A =2×21 2 3 4
B = flipud (A)
B =2×23 4 1 2
c = pliplr(a)
C =2×22 1 4 3

移动和旋转

您可以使用一定数量的位置将数组的元素移位快速功能。例如,创建一个3×4矩阵并将其列移至右侧2.第二个参数[0 2]快速要将行转换0个位置并将列偏置到右侧。

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

移动…的行一种上1并保持列到位,指定第二个参数[-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 = rot90(a)
B =2×22 4 1 3

如果您使用第二个参数来指定旋转的次数,再旋转3次,您将得到原始矩阵一种

c = rot90(b,3)
C =2×21 2 3 4

排序

排序阵列中的数据也是一个有价值的工具,Matlab提供了许多方法。例如,排序功能以升序或降序单独对矩阵的每行或列的元素进行排序。创建矩阵一种并对每列进行分类一种按升序。

A =魔术(4)
A =4×4.16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
b =排序(a)
B =4×4.4 2 3 15 7 6 8 9 11 10 12 16 14 15 13

按降序对每一行进行排序。第二个参数值2指定要按行排序。

c = sort(a,2,“下降”
C =4×4.16 13 3 2 11 10 8 5 12 9 7 6 15 14 4 1

要对彼此进行排序整个行或列,请使用排队功能。例如,对行排序一种按第一列的元素升序排列。行的位置会改变,但每行中元素的顺序会保留。

d = sortrows(a)
d =4×4.4 14 15 1 5 11 10 8 9 7 6 12 16 2 3 13

相关的话题