主要内容

sortrows

排序矩阵或表的行

描述

例子

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

例子

B= sortrows (一个排序一个基于向量中指定的列.例如,sortrows (4)排序的行一个按照第四列元素的升序排列。sortrows ([4 - 6])的行进行排序一个根据第4列中的元素,再根据第6列中的元素打破平局。

例子

B= sortrows (___方向排序的行一个指定的顺序方向对于前面的任何语法。方向可以“提升”(默认)用于升序或“下”降序。方向也可以是单元格数组的元素是“提升”而且“下”,其中每个元素对应一个列sortrows在操作。例如,sortrows(A,[4 6],{'上升' '下降'})排序的行一个先按升序排列第四列,再按降序排列第六列打破平局。

例子

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

例子

B指数= sortrows(___还返回一个索引向量,该索引向量描述如下的行重排B = A(index,:)

例子

tblB= sortrows (tblA根据第一个变量中的值按升序对表中的行进行排序。如果第一个变量中的元素重复,则sortrows按第二个变量中的元素排序,依此类推。

如果tblA那么,有时间表吗sortrows排序的行tblA按行数升序排列。时间表的行时间标记了时间表第一个维度上的行。

例子

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

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

例子

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

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

  • 如果tblA是一个时间表,然后行标签是行时间。

例子

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

  • 如果tblA是一个表,它有行名,那么var可以包括行名。

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

例子

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

例子

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

例子

tblB指数= sortrows(___还返回一个这样的索引向量tblB = tblA(index,:)

例子

全部折叠

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

rng默认的;A = floor(rand([6 7])*100);A(1:4,1) = 95;A(5:6,1) = 76;A(2:4,2) = 7;A(3,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 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 43 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,index] = 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 6 5 1 3 4

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

A = [1+ 2i3 +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.000 +10.0000i 0.0000 + 6.0000i 2.000 + 5.0000i 2.000 + 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 +10.0000i 0.0000 + 6.0000i 2.0000 + 5.0000i
角((1,1))
Ans = 1.1071
角((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.000 + 1.0000i 4.0000 + 0.0000i 3.0000 + 3.0000i 2.000 +10.0000i 0.0000 + 6.0000i 2.000 + 5.0000i
图像放大((2,1))
Ans = 10
图像放大((3,1))
Ans = 1

创建一个字符向量的6 × 2单元格数组,并对其行进行排序。结果是一个按国家和名字按字母顺序排序的列表。

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

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

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

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

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

姓氏= {“史密斯”“约翰逊””威廉姆斯“琼斯”“棕色”};年龄= [38;43;38;40;49];身高= [71;69;64;67;64];Weight = [176;163;131;133;119];血压= [124 93;109 77;125 83;117 75;122 80);tblA = table(年龄,身高,体重,血压,“RowNames”、LastName)
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

对表中的行进行排序。的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

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

姓氏= {“史密斯”“约翰逊””威廉姆斯“琼斯”“棕色”};年龄= [38;43;38;40;49];身高= [71;69;64;67;64];Weight = [176;163;131;133;119];血压= [124 93;109 77;125 83;117 75;122 80);tblA = table(年龄,身高,体重,血压,“RowNames”、LastName)
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,index] = sortrows(tblA,“RowNames”
tblB =5×4表年龄身高体重血压_________ ______ _____________布朗49 64 119 122 80约翰逊43 69 163 109 77琼斯40 67 133 117 75史密斯38 71 176 124 93威廉姆斯38 64 131 125 83
指数=5×15 2 4 1 3

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

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

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

tblB = sortrows(tblA,{“高度”“重量”},{“提升”“下”})
tblB =5×4表年龄身高体重血压_________ ______ _____________王38 64 131 125 83伯杰49 64 119 122 80 Joiner 40 67 133 117 75雅各布森43 69 163 109 77 Sweet 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 = table(年龄,身高,体重,血压,“RowNames”、LastName)
tblA =5×4表年龄身高体重血压_________ ______ _____________ Sweet 38 71 176 124 93雅各布森43 69 NaN 109 77王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 NaN 109 77伯杰49 64 NaN 122 80王38 64 131 125 83 Joiner 40 67 133 117 75 Sweet 38 71 176 124 93

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

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

输入参数

全部折叠

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

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|字符|字符串|细胞|分类|datetime|持续时间
复数支持:金宝app是的

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

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

如果参数和方向参数一起指定sortrows根据分类方向,忽略元素的符号

数据类型:字符|字符串|细胞

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

数据类型:表格|时间表

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

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

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

例子:如果一张桌子T有行名,并且您使用T.Properties。DimensionName{1} = "Name",然后sortrows (T,“名字”)按行名对表进行排序。

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

数据类型:字符串|字符

排序变量,指定为标量整数、整数向量、变量名、变量名的字符串数组、变量名的单元格数组、a模式标量,或者逻辑向量。var指示要排序的表变量。

的元素var是正整数吗sortrows对相应的变量进行排序tblA按升序排列。的元素var是负整数吗sortrows对相应的变量进行排序tblA按降序排列。

例子:sortrows (tblA[“高度”、“重量”])排序的行tblA按升序排列,首先是变量高度,然后由变量重量打破束缚。

例子:sortrows(tblA,"X" +通配符模式)排序的行tblA是否按表中名称以字母开头的变量升序排列“X”,使用通配符模式匹配他们名字中的其余字母。

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

例子:sortrows (TT(“时间”、“X”))对时间表的行次进行排序TT先按升序,然后按表变量排序X打破束缚。

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

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

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

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

  • “汽车”-升序时,缺失元素放在最后,降序时放在前面。

  • “第一”-缺失的元素放在前面。

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

元素比较方法,指定为由逗号分隔的对组成“ComparisonMethod”和以下其中之一:

  • “汽车”-排序行一个通过真正的(一个)一个是真的吗abs ()一个是复杂的。

  • “真实”的-排序行一个通过真正的(一个)一个是真实的还是复杂的。如果的一列一个有相等实部的元素,那么使用图像放大(A)打破束缚。

  • “abs”-排序行一个通过abs ()一个是真实的还是复杂的。如果的一列一个有等大小的元素,然后用角(A)在区间(-π,π)中打破束缚。

输出参数

全部折叠

排序数组,返回为一个向量,矩阵,或多维数组。B尺寸和一个

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|字符|字符串|细胞|分类|datetime|持续时间

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

数据类型:表格|时间表

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

数据类型:

扩展功能

版本历史

R2006a之前介绍