主要内容

索特罗斯

排序矩阵或表

描述

实例

B= sortrows(A.)根据第一列中的元素按升序对矩阵的行进行排序。当第一列包含重复元素时,索特罗斯根据下一列中的值进行排序,并对后续相等的值重复此行为。

实例

B= sortrows(A.,)种类A.基于向量中指定的列例如sortrows (4)排序行的行A.根据第四列中的元素按升序排列。索特罗斯(A,[4 6])首先对行进行排序A.基于第四列中的元素,然后基于第六列中的元素来打破连接。

实例

B= sortrows(___,方向)排序行的行A.按照方向对于任何先前的语法。方向可以是'升降'(默认)升序或“下降”降序排列。方向也可以是一个单元数组,其元素是'升降'“下降”,其中每个元素对应于一个列索特罗斯在…上运行。例如sortrows(A,[46],{'ascend'Down'})排序行的行A.在第四列的基础上按升序,然后在第六列的基础上按降序断开连接。

实例

B= sortrows(___,名称、值)指定行排序的其他参数。例如,排名(a,'comparisonmethod','abs')对元素进行排序A.从数量上看。

实例

[B,指数]=sortrows(___)还返回一个描述行的重新排列的索引矢量B=A(索引:)

实例

tblB= sortrows(tblA)根据第一个变量中的值按升序排序表的行。如果重复第一个变量中的元素,那么索特罗斯由第二变量中的元素排序,等等。

如果tblA那么,有时间表吗索特罗斯排序行的行tblA根据其行时间按升序排列。时间表的行时间沿时间表的第一维度标记行。

实例

tblB= sortrows(tblA,“行名称”)根据表的行名称对表进行排序。表的行名称标记表的第一个维度上的行。如果tblA没有行名,也就是说,如果tblA.Properties.RowNames是空的,然后索特罗斯返回tblA

不支持此语法何时不受支持金宝apptblA这是一个时间表。

实例

tblB= sortrows(tblA,rowDimName)种类tblA按行标签rowDimName沿着第一维度。

  • 如果tblA是表,则行标签是行名称。

  • 如果tblA是时间表,则行标签是行时间。

实例

tblB= sortrows(tblA,var)通过指定的变量中的元素对表进行排序var例如sortrows (tblA{‘Var1’,‘Var2})首先对行进行排序tblA基于元素Var1,然后由元素Var2

  • 如果tblA是一个表,它有行名,然后呢var可以包括行名称。

  • 如果tblA那么,有时间表吗var可以包括行时间。

实例

tblB= sortrows(___,方向)种类tblA按照方向对于前面的任何表语法。方向可以是'升降'“下降”,它应用于所有指定的变量、行名称或索特罗斯在…上运行。方向也可以是一个单元数组,其元素是'升降'“下降”,其中每个元素对应于指定的变量、行名或被排序的行次数。

实例

tblB= sortrows(___,名称、值)指定用于对表或时间表中的行进行排序的附加参数。例如,sortrows(tblA、'Var1'、'MissingPlacement'、'first')根据中的元素进行排序Var1,对缺失的元素进行排序,例如在桌子的开头。

实例

[tblB,指数]=sortrows(___)还返回一个索引向量,以便tblB=tblA(索引:)

例子

全部折叠

创建一个矩阵,并根据第一列中的元素按升序对其行进行排序。当第一列包含重复的元素时,索特罗斯查看第二列中的元素以打破僵局。对于第二列中的重复元素,索特罗斯看第三列,以此类推。

rng默认;A=floor(rand([67])*100;A(1:4,1)=95;A(5:6,1)=76;A(2:4,2)=7;A(3,3)=48
A=6×795 27 95 79 67 70 69 95 7 48 95 75 3 31 95 7 48 65 74 27 95 95 7 14 3 39 4 3 76 15 42 84 65 9 43 76 97 91 93 17 82 38
B=sortrows(A)
B=6×776 15 42 84 65 9 43 76 97 91 93 17 82 38 95 7 14 3 39 4 3 95 7 48 65 74 27 95 95 7 48 95 75 3 31 95 27 95 79 67 70 69

把一排排的A.基于第二列中的值。当指定的列具有重复的元素时,相应的行保持其原始顺序。

C = sortrows (2)
C=6×795 7 48 95 75 3 31 95 7 48 65 74 27 95 95 7 14 3 39 43 76 15 42 84 65 9 43 95 27 95 79 67 70 69 76 97 91 93 17 82 38

把一排排的A.基于第一列中的元素,并查看第七列以打破任何联系。

D=sortrows(A[17])
D=6×776 97 91 93 17 82 38 76 15 42 84 65 9 43 95 7 14 3 39 43 95 7 48 95 75 3 31 95 27 95 79 67 70 69 95 7 48 65 74 27 95

把一排排的A.基于第四列中的元素的降序,显示输出向量指数查看行是如何重新排列的。

(E,指数)= sortrows(一个4“下降”)
E =6×795 7 48 95 75 3 31 76 97 91 93 17 82 38 76 15 42 84 65 9 43 95 27 95 79 67 70 69 95 7 48 65 74 70 69 95 7 48 65 74 27 95 95 7 14 3 39 4 3
索引=6×12 6 5 1 3 4

创建一个包含复数的矩阵,并根据第一列中的元素按升序对矩阵行进行排序A(1,1)A(3,1)平等,,索特罗斯计算他们的角度来打破僵局。

A = [1+2i 3+i i;2 + 10我6 2 + 5;我2 + 4 3 + 3)
A=3×3复合物1.0000 + 2.0000i 3.0000 + 1.0000i 0.0000 + 1.0000i 2.000 +10.0000i 0.0000 + 6.0000i 2.000 + 5.0000i 2.000 + 1.0000i 4.0000 + 0.00000 i 3.0000 + 3.0000i
B=sortrows(A)
B=3×3复合物2.0000 + 1.0000i 4.0000 + 0.00000 i 3.0000 + 3.0000i 1.0000 + 2.0000i 3.0000 + 1.0000i 0.0000 + 1.0000i 2.0000 +10.0000i 0.0000 + 6.0000i 2.0000 + 5.0000i
角度(a(1,1))
ANS = 1.1071.
角((3,1))
ans = 0.4636

使用“真的”选项来对行的排序A.从他们的真实部分开始A(2,1)A(3,1)有相同的真实部位,索特罗斯用虚部打破僵局。

C=sortrows(A,“ComparisonMethod”,“真的”)
C=3×3复合物1.0000 + 2.0000i 3.0000 + 1.0000i 2.000 + 1.0000i 2.0000 + 1.0000i 4.0000 + 0.00000 i 3.0000 + 3.0000i 2.000 +10.0000i 0.0000 + 6.0000i 2.0000 + 5.0000i
imag(A(2,1))
ans=10
imag(A(3,1))
ans = 1

创建一个6×2的字符向量阵列,并排序其行。结果是由两个国家和名称排序的字母化列表。

A={“德国”'卢卡斯';“美国”“威廉”;“美国”'安德鲁';......“德国”'andreas';“美国”“奥利维亚”;“德国”'朱莉娅'}
A=6x2细胞{'德国'} {'lukas'} {'veriam'} {'william'} {'veriam'} {'andrew'} {'andrew'} {'德国'} {'andreas'} {'美国'} {'美国'} {'olivia'}{'德国'} {'Julia'}
B=sortrows(A)
B=6x2细胞{'德国'} {'andreas'} {'德国'} {'julia'} {'德国'} {'lukas'} {'美国'} {'美国'} {'Andrew'} {'Andrew'} {'美国'} {'美国'} {'美国'} {'Olivia'}{'美国'} {'William'}

首先对国家进行排序,然后按降序对名称进行排序。

C=sortrows(A,[12]{'升降'“下降”})
C=6x2细胞{'德国'} {'lukas'} {'德国'} {'julia'} {'德国'} {'andreas'} {'andreas'} {'&vers'} {'威廉'} {'美国'} {'美国'} {'olivia'}{'美国'} {'安德鲁'}

按变量对表的行排序。

创建一个包含四个变量的表,列出五个人的患者信息。

姓氏={“史密斯”;“约翰逊”;'威廉姆斯';“琼斯”;'棕色的'}年龄=[38;43;38;40;49];身高=[71;69;64;67;64];体重=[176;163;131;133;119];血压=[124 93;109 77;125 83;117 75;122 80];tblA=表格(年龄、身高、体重、血压、,'rownames',姓氏)
TBLA =.5×4表年龄身高体重血压史密斯38 71 176 124 93约翰逊43 69 163 109 77威廉姆斯38 64 131 125 83琼斯40 67 133 117 75布朗49 64 119 122 80

对表的行进行排序。的索特罗斯函数首先按变量按升序排序行年龄,然后通过变量高度打破两排年龄相等的人之间的联系。

tblB = sortrows (tblA)
tblb =5×4表年龄身高体重血压_________ ______ _____________威廉姆斯38 64 131 125 83史密斯38 71 176 124 93琼斯40 67 133 117 75约翰逊43 69 163 109 77布朗49 64 119 122 80

创建一个包含四个变量的表,列出五个人的患者信息。

姓氏={“史密斯”;“约翰逊”;'威廉姆斯';“琼斯”;'棕色的'}年龄=[38;43;38;40;49];身高=[71;69;64;67;64];体重=[176;163;131;133;119];血压=[124 93;109 77;125 83;117 75;122 80];tblA=表格(年龄、身高、体重、血压、,'rownames',姓氏)
TBLA =.5×4表年龄身高体重血压史密斯38 71 176 124 93约翰逊43 69 163 109 77威廉姆斯38 64 131 125 83琼斯40 67 133 117 75布朗49 64 119 122 80

根据行名称按升序对表中的行进行排序,并返回描述如何重新排列行的索引向量。

[tblB,索引]=sortrows(tblA,'rownames')
tblb =5×4表年龄身高体重血压49 64 119 122 80约翰逊43 69 163 109 77琼斯40 67 133 117 75史密斯38 71 176 93威廉姆斯38 64 131 125 83
索引=5×15 2 4 1 3

创建一个包含四个变量的表,列出五个人的患者信息。

姓氏={“甜”;'雅各布森';“王”;“细木工”;'伯杰'}年龄=[38;43;38;40;49];身高=[71;69;64;67;64];体重=[176;163;131;133;119];血压=[124 93;109 77;125 83;117 75;122 80];tblA=表格(年龄、身高、体重、血压、,'rownames',姓氏)
TBLA =.5×4表年龄高度重量血压___ ______ ______ _____________甜蜜38 71 176 124 93 jacobson 43 69 163 109 77王38 64 131 125 83伯杰49 64 119 122 80

按升序对表的行按升序排序高度,然后按降序排列重量

tblB = sortrows (tblA, {“高度”,“重量”},{'升降',“下降”})
tblb =5×4表年龄高度重量血压___ ______ ______ ______________王38 64 131 125 83伯杰49 64 119 122 80加热器40 67 133 117 75雅各逊43 69 163 109 77 SWEEL 38 71 176 124 93

创建一个包含四个变量的表,列出五个人的患者信息重量变量包含缺少的值。

姓氏={“甜”;'雅各布森';“王”;“细木工”;'伯杰'}年龄=[38;43;38;40;49];身高=[71;69;64;67;64];体重=[176;NaN;131;133;NaN];血压=[124 93;109 77;125 83;117 75;122 80];tblA=表格(年龄、身高、体重、血压、,'rownames',姓氏)
TBLA =.5×4表年龄身高体重血压甜38 71 176 124 93雅各布森43 69南109 77王38 64 131 125 83木匠40 67 133 117 75伯杰49 64南122 80

按升序对表的行按升序排序重量,放置包含第一

tblB = sortrows (tblA,“重量”,'遗漏',“第一”)
tblb =5×4表年龄身高体重血压_________ ______ _____________ Jacobson 43 69 NaN 109 77 Berger 49 64 NaN 122 80 Wang 38 64 131 125 83 Joiner 40 67 133 117 75 Sweet 38 71 176 124 93

创建一个时间表,并按行时间排序。

定期= [小时(3)小时(2)小时(1)小时(5)小时(6)]';tt =时间表(定时,[98; 97.5; 97.9; 98.1; 101],[120; 111; 119; 117; 118]);b = sortrows(tt,“持续时间”)
B=5×2时间表时长变1变2变2 uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

输入参数

全部折叠

输入数组,指定为列向量或矩阵。

数据类型:双倍的|单身的|int8|int16|int32|INT64.|uint8.|uint16|UINT32.|UINT64|必然的|烧焦|细绳|细胞|明确的|datetime|期间
复数支持:金宝app是的

列排序向量,指定为非零整数标量或非零整数向量。每个指定的整数值表示要排序的列。负整数表示排序顺序是降序的。

排序方向,指定为字符向量或包含'升降'(默认)或“下降”.如果方向是字符向量的单元格数组,然后条目的数量必须与正在排序的列数或变量匹配。

如果论证和争论方向参数一起指定,然后索特罗斯根据这一点排序方向,忽略中元素的符号

数据类型:烧焦|细绳|细胞

输入表格,指定为表格或时间表。中的每个变量tblA必须是有效的输入排序索特罗斯

数据类型:表格|时间表

输入表或时间表的第一个维度的名称,指定为字符向量。

  • 如果tblA那么,表是否具有行名rowDimName是表的第一个维度的名称。默认情况下,第一个维度的名称为“行”.维度名称是表的一个属性。的维度名称tblA使用tblA.Properties.DimensionNames

  • 如果tblA那么,有时间表吗rowDimName是行时间矢量的名称。创建时间表时,您可以指定其名称,例如时间日期. 还可以使用访问维度名称tblA.Properties.DimensionNames

例子:如果有一张桌子T有行名,您使用T.Properties.DimensionName{1}='Name'然后排名(t,'name')按行名对表进行排序。

例子:如果有时间表TT.有一个时间向量吗日期然后Sortrows(TT,'日期')根据需要的日期和时间对时间表进行排序日期包含。

数据类型:烧焦

对指定为标量整数、整数向量、变量名、变量名单元格数组或逻辑向量的变量进行排序。var指示要排序的表变量。

如果一个元素var是一个正整数,那么索特罗斯对相应的变量进行排序tblA以升序排序。如果一个元素var是一个负整数,那么索特罗斯对相应的变量进行排序tblA在降序排列。

例子:Sortrows(TBLA,{'高度','重量'})排序行的行tblA按升序,首先按变量高度,然后通过变量重量断绝关系。

例子:索特罗斯(tblA,[14])由第一变量排序tblA按升序,然后按第四个变量排序以打破关系。

例子:sortrows (TT,{‘时间’,‘X’})排序时间表的行时间TT.以升序首先,然后按表变量排序“X”断绝关系。

数据类型:双倍的|单身的|烧焦|细绳|细胞|必然的

名称值参数

指定可选的逗号分隔的字符对名称、值论据。姓名是参数名和价值为对应值。姓名必须出现在引号内。可以以任意顺序指定多个名称和值对参数名称1,值1,…,名称,值

例子:sortrows(A,'MissingPlacement','last')

缺失值的位置(,纳特,<定义>,丢失的)指定为逗号分隔对,由'遗漏'以及下列其中一项:

  • “自动”- 缺少的元素持续上升顺序,并首先进行降序。

  • “第一”-缺失的元素放在首位。

  • “最后”-缺少的元素放在最后。

元素比较方法,指定为逗号分隔对,由“ComparisonMethod”以及下列其中一项:

  • “自动”- 排序行A.通过雷亚尔(A)什么时候A.是真实的,按顺序排列abs(A)什么时候A.这很复杂。

  • “真的”- 排序行A.通过雷亚尔(A)什么时候A.是真实的还是复杂的。如果一列A.有同实部的元素,然后用imag(A)断绝关系。

  • “腹肌”- 排序行A.通过abs(A)什么时候A.是真实的还是复杂的。如果一列A.具有相等大小的元素,然后使用角(A)在区间(-π,π)中打破联系。

输出参数

全部折叠

排序数组,作为向量、矩阵或多维数组返回。B和我的一样大A.

数据类型:双倍的|单身的|int8|int16|int32|INT64.|uint8.|uint16|UINT32.|UINT64|必然的|烧焦|细绳|细胞|明确的|datetime|期间

排序表,作为表或时间表返回,变量与tblA

数据类型:表格|时间表

排序索引,作为索引向量返回。排序索引描述输入中行的重新排列,以便B=A(索引:)

数据类型:双倍的

扩展能力

之前介绍过的R2006a