sortrows

对矩阵或表格的行进行排序

描述

例子

B= sortrows (一个排序基于在第一列中的元素以升序的矩阵的行。当第一列包含重复的元素,sortrows根据下一列中的值进行排序,并对后续相等的值重复此行为。

例子

B= sortrows (一个排序一个基于矢量中指定的列.例如,调用sortRows(A,4)排序一个根据第四列中的元素按升序排列。sortrows ([4 - 6])首先对行的排序一个根据第四列中的元素,再根据第六列中的元素来打破联系。

例子

B= sortrows (___方向排序一个按…所指定的顺序方向对于前面的任何语法。方向可以“提升”(默认)为升序或“下”按降序排序。方向也可以是单元格数组,其元素是“提升”“下”,其中每个元素对应于一个列sortrows在操作。例如,sortrows([4 - 6],{“提升”“下降”})排序一个根据第四列升序,然后根据第六列降序,打破关系。

例子

B= sortrows (___名称,值指定用于行排序的附加参数。例如,sortrows(“ComparisonMethod”,“abs”)对元素进行排序一个的大小。

例子

B指数) = sortrows (___还返回一个索引向量,该向量描述了行的重新排列B =(指数:)

例子

tblB= sortrows (tblA以升序基于在第一变量中的值进行排序的表的行。如果在第一可变元件被重复的,那么sortrows按第二个变量中的元素排序,以此类推。

如果tblA是一个时间表,然后sortrows排序tblA按行时间升序排列。时间表的行时间标记时间表第一个维度的行。

例子

tblB= sortrows (tblA, ' RowNames ')根据行名对表进行排序。表的行名标记了表第一个维度的行。如果tblA没有行名字,也就是说,如果tblA.Properties.RowNames为空,则sortrows返回tblA

不支持此语法万博1manbetxtblA是一个时间表。

例子

tblB= sortrows (tblArowDimName排序tblA由行标签rowDimName沿着第一个维度。

  • 如果tblA是一个表,那么行标签就是行名。

  • 如果tblA是一个时间表,那么行标签就是行时间。

例子

tblB= sortrows (tblAvars.通过在由指定的变量的元素进行排序的表vars..例如,调用sortRows(TBLA,{ 'VAR1', 'VAR2'})首先对行的排序tblA基于在所述元件VAR1,然后由元素VAR2

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

  • 如果tblA是一个时间表,然后vars.可以包括行时间。

例子

tblB= sortrows (___方向排序tblA按…所指定的顺序方向对于前面的任何表语法。方向可以“提升”或者“下”,它应用于所有指定的变量、行名或行乘以它sortrows在操作。方向也可以是单元格数组,其元素是“提升”“下”,其中每个元素对应于指定的变量、行名或被排序的行次数。

例子

tblB= sortrows (___名称,值指定用于分类表或时间表的行附加参数。例如,sortrows (tblA‘Var1’,‘MissingPlacement’,‘第一次’)基于中的元素进行排序VAR1订货缺失的元素如在表的开头。

例子

tblB指数) = sortrows (___也返回一个索引向量: tblB = tblA(指数)

例子

全部收缩

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

RNG.默认的;A = floor(rand([6 7])*100);(1:4, 1) = 95;(6,1) = 76;(2:4, 2) = 7;(3) = 48
一个=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 43 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 43 95 7 48 65 74 27 95 95 7 48 95 75 3 31 95 27 95 79 67 70 69

对行的排序一个基于第二列中的值。当指定的列有重复的元素时,相应的行保持它们原来的顺序。

C =调用sortRows(A,2)
C =6×795 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 95 27 95 79 67 70 69 76 97 91 93 17 82 38

对行的排序一个根据第一列中的元素,并查看第七列以打破任何联系。

D = sortrows(A,[1 7])
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

对行的排序一个根据第四列中的元素降序排列,并显示输出向量指数看看这些行是如何重新排列的。

[E,指数] =调用sortRows(A,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 27 95 95 7 14 3 39 43
指数=6×12 . 2 . 5 . 3 . 5 . 4

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

A = [1 + 2I 3 + I I;2 + 10I 6I 2 + 5I;2 + I 4 3 + 3I]
一个=3×3复杂1.0000 + 2.0000i 3.0000 + 1.0000i 0.0000 + 1.0000i 2.0000 + 0.0000 10.0000i + 6.0000i 2.0000 + 5.0000i 2.0000 + 1.0000i 4.0000 + 0.0000i 3.0000 + 3.0000i
B = sortrows (A)
B =3×3复杂2.0000 + 1.0000i 4.0000 + 0.0000i 3.0000 + 3.0000i 1.0000 + 2.0000i 3.0000 + 1.0000i 0.0000 + 1.0000i 2.0000 + 0.0000 10.0000i + 6.0000i 2.0000 + 5.0000i
角((1,1))
ans = 1.1071
角度(A(3,1))
ANS = 0.4636

使用“真实”的选项的行进行排序一个通过实部。自(2, 1)(3,1)实部相等,sortrows用虚部打破僵局。

C = sortrows (,'ComparisonMethod'“真实”的
C =3×3复杂1.0000 + 2.0000i 3.0000 + 1.0000i 0.0000 + 1.0000i 2.0000 + 1.0000i 4.0000 + 0.0000i 3.0000 + 3.0000i 2.0000 + 0.0000 10.0000i + 6.0000i 2.0000 + 5.0000i
图像放大((2,1))
ans = 10
图像放大((3,1))
ans = 1

创建字符向量的6×2单元阵列,其行进行排序。其结果是双方的国家和名称排序的字母顺序列出。

一个= {'德国'“卢卡斯”'美国'“威廉”'美国'“安德鲁”...'德国'“安德烈亚斯”'美国'“奥利维亚”'德国'“茱莉亚”
一个=6 x2细胞{“德国”}{卢卡斯的}{‘美国’}{“威廉”}{‘美国’}{“安德鲁”}{“德国”}{的Andreas}{‘美国’}{“奥利维亚”}{“德国”}{茱莉亚的}
B = sortrows (A)
B =6 x2细胞{“德国”}{的Andreas}{“德国”}{“茱莉亚”}{“德国”}{卢卡斯的}{‘美国’}{“安德鲁”}{‘美国’}{“奥利维亚”}{‘美国’}{“威廉”}

先对国家排序,然后按降序对名字排序。

C = sortrows(A,[1 2],{“提升”“下”})
C =6 x2细胞{“德国”}{卢卡斯的}{“德国”}{“茱莉亚”}{“德国”}{的Andreas}{‘美国’}{“威廉”}{‘美国’}{“奥利维亚”}{‘美国’}{“安德鲁”}

按变量值对表的行进行排序。

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

LastName = {“史密斯”“约翰逊””威廉姆斯“琼斯”“棕色”};年龄=[38,43岁,38;40;49);身高= [71;69;64;67;64);重量= [176;163;131;133;119);血压= [1293;109 77;125 83;117 75;122 80);tblA =表(年龄、身高、体重、血压,“RowNames”、LastName)
tblA =5×4表年龄身高体重血压_________ ______ _____________ Smith 38 71 176 124 93 Johnson 43 69 163 109 77 Williams 38 64 131 125 83 Jones 40 67 133 117 75 Brown 49 64 119 122 80

排序表中的行。这sortrows函数首先按变量升序对行进行排序年龄,然后由可变高度打破年龄相等的两排之间的平局。

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

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

LastName = {“史密斯”“约翰逊””威廉姆斯“琼斯”“棕色”};年龄=[38,43岁,38;40;49);身高= [71;69;64;67;64);重量= [176;163;131;133;119);血压= [1293;109 77;125 83;117 75;122 80);tblA =表(年龄、身高、体重、血压,“RowNames”、LastName)
tblA =5×4表年龄身高体重血压_________ ______ _____________ Smith 38 71 176 124 93 Johnson 43 69 163 109 77 Williams 38 64 131 125 83 Jones 40 67 133 117 75 Brown 49 64 119 122 80

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

[tblB,指数]= sortrows (tblA,“RowNames”
tblB =5×4表年龄身高体重血压_________ ______ _____________ Brown 49 64 119 122 80 Johnson 43 69 163 109 77 Jones 40 67 133 117 75 Smith 38 71 176 124 93 Williams 38 64 131 125 83
指数=5×15 . 1 .詹妮弗?劳伦斯

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

LastName = {'甜的'雅各布森的“王”“工匠”伯杰的};年龄=[38,43岁,38;40;49);身高= [71;69;64;67;64);重量= [176;163;131;133;119);血压= [1293;109 77;125 83;117 75;122 80);tblA =表(年龄、身高、体重、血压,“RowNames”、LastName)
tblA =5×4表年龄身高体重血压_________ ______ _____________ Sweet 38 71 176 124 93 Jacobson 43 69 163 109 77 Wang 38 64 131 125 83 Joiner 40 67 133 117 75 Berger 49 64 119 122 80

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

TBLB =调用sortRows(TBLA,{“高度”'重量'},{“提升”“下”})
tblB =5×4表年龄身高体重血压_________ ______ _____________ Wang 38 64 131 125 83 Berger 49 64 119 122 80 Joiner 40 67 133 117 75 Jacobson 43 69 163 109 77 Sweet 38 71 176 124 93

创建一个包含4个变量的表,列出5个人的患者信息。这重量变量包含丢失的值。

LastName = {'甜的'雅各布森的“王”“工匠”伯杰的};年龄=[38,43岁,38;40;49);身高= [71;69;64;67;64);重量=[176;南;131;133;南);血压= [1293;109 77;125 83;117 75;122 80);tblA =表(年龄、身高、体重、血压,“RowNames”、LastName)
tblA =5×4表年龄身高体重血压_________ ______ _____________ Sweet 38 71 176 124 93 Jacobson 43 69 NaN 109 77 Wang 38 64 131 125 83 Joiner 40 67 133 117 75 Berger 49 64 NaN 122 80

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

TBLB =调用sortRows(TBLA,'重量'“MissingPlacement”'第一的'
tblB =5×4表年龄身高体重血压___ ______ ______ _____________雅各布森43 69 109的NaN 77伯杰49 64 122的NaN 80王38 64 131 125 83 40木67 133 117 75 38甜71 176 124 93

创建一个时间表,并通过排次行进行排序。

TimeDuration = [hours(3) hours(2) hours(1) hours(5) hours(6)]';TT =时间表(TimeDuration, 98; 97.5; 97.9; 98.1; 101], [120; 111; 119; 117; 118));B = sortrows (TT,“TimeDuration”
B =5×2时间表TimeDuration Var1 Var2 ____________ ________ 1小时97.9 119 2小时97.5 111 3小时98 120 5小时98.1 117 6小时101 118

输入参数

全部收缩

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

数据类型:||INT8.|int16|int32|int64|uint8|uint16|uint32|UINT64|逻辑|字符|字符串|细胞|分类|约会时间|持续时间
复数的支持:万博1manbetx是的

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

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

如果是参数和方向参数一起指定sortrows根据排序方向,忽略其中元素的符号

数据类型:字符|细胞

输入表,指定为表或时间表。每个变量在tblA必须是有效的输入种类或者sortrows

数据类型:桌子|时间表

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

  • 如果tblA是行名称的表,然后rowDimName是表的第一维度的名称。默认情况下,第一个维度的名称是“行”.尺寸名称表的属性。您可以访问的维度名称tblA使用tblA.Properties.DimensionNames

  • 如果tblA是一个时间表,然后rowDimName是行乘以向量的名字。您可以在创建时间表时指定它的名称,例如时间或者日期.您还可以使用tblA.Properties.DimensionNames

例子:如果一个表T有行名字,而你使用变更第一维度的名称T.Properties。DimensionName{1} = '名称',然后sortrows (T '名称')按排序行名称的表。

例子:如果一个时间表TT有一个名为时间向量日期,然后sortrows (TT,“日期”)把时间表按日期和时间排序日期包含。

数据类型:字符

排序变量,指定为标量整数,整数的向量,变量名,变量名的单元阵列,或逻辑载体。vars.指示要排序的表变量。

如果一个元素vars.是正整数吗sortrows排序在相应的可变tblA按升序排列。如果一个元素vars.是负整数吗sortrows排序在相应的可变tblA按降序排列。

例子:sortrows (tblA{“高度”,“体重”})排序tblA按升序排列,首先是变量高度,然后通过变量重量打破关系。

例子:sortrows (tblA [1 - 4])按的第一个变量排序tblA按升序,然后按第四个变量排序,以打破平局。

例子:调用sortRows(TT,{ '时间', 'X'})排序时间表的行时间TT先升序,然后按表变量排序'X'打破关系。

数据类型:||字符|细胞|逻辑

名称 - 值对参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值是相应的价值。的名字必须出现引号内。您可以按照任何顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:sortrows(“MissingPlacement”,“最后”)

遗漏值的位置(NaT<未定义>, 和失踪)指定为逗号分隔的对,由“MissingPlacement”以及以下其中之一:

  • “汽车”-缺失的元素升序排在最后,降序排在第一位。

  • '第一的'- 缺少元素首先被放置。

  • “最后一次”-缺失的元素放在最后。

元素比较方法,指定为逗号分隔的对,由'ComparisonMethod'以及以下其中之一:

  • “汽车”-排序一个通过真正的(一个)一个是实数,排序呢abs ()一个是复杂的。

  • “真实”的-排序一个通过真正的(一个)一个是实数还是复数。如果一列一个具有相等的实部,然后使用元素图像放大(A)打破关系。

  • “abs”-排序一个通过abs ()一个是实数还是复数。如果一列一个有相等大小的元素,那么使用呢角度(A)在区间(-π,π)中打破平局。

输出参数

全部收缩

已排序的数组,作为向量、矩阵或多维数组返回。B大小是一样的吗一个

数据类型:||INT8.|int16|int32|int64|uint8|uint16|uint32|UINT64|逻辑|字符|字符串|细胞|分类|约会时间|持续时间

已排序的表,作为具有相同变量的表或时间表返回tblA

数据类型:桌子|时间表

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

数据类型:

扩展功能

在R2006A之前介绍