文档

阵列的整形和重新排列

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

相关的话题

试试MATLAB、Sim金宝appulink和其他产品下载188bet金宝搏

现在受审