您的位置 首页 > 数码极客

「matlab如何操作table」matlab文件操作!

句法:

B=sortrows(A)

B=sortrows(A,column)

B=sortrows( __,direction)

B=sortrows( __,Name,Value)

[B,index]=sortrows( __ )

tblB=sortrows(tblA)

tblB=sortrows(tblA,’RowNames’)

tblB=sortrows(tblA,rowDimName)

tblB=sortrows(tblA,vars)

tblB=sortrows( __,direction)

tblB=sortrows( __,Name,Value)

[tblB,index]=sortrows( __ )

说明:

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

补充:当A为行向量时,使用该格式仍然按照规律计算,可知,对于行向量,排序就没有意义了,此时需要将行向量改为列向量,可使用转置运算。

B=sortrows(A,column)根据矩阵A中所指定的列进行排序。例如,sortrows(A,4)根据第四列中的元素对A的行进行排序。sortrows(A,[4,6])首先根据第四列中元素对A的行进行排序,然后根据第六列中的元素打断联系。

B=sortrows( __,direction)适用于前面的语法,按direction指定的顺序对A的行进行排序。方向可以是“升序”(默认),也可以是 “降序”。Direction也可以是单元格数组,其元素为‘ascend’和 ‘descend’,其中每个元素对应于进行排序的列。例如,sortrows(A,[4,6],{‘ascend’,’descend’}根据第四列对A的行进行升序排列,然后根据第六列对A的行进行降序排列以打破默认联系

B=sortrows( __,Name,Value)指定用于对行进行排序的其他参数。例如,sortrows(A,’ComparisonMethod’,’abs’)按绝对值大小对A的元素进行排列。

[B,index]=sortrows( __ )还返回一个索引向量,该向量描述了行的重新排列,使得B = A(index,:)。

tblB=sortrows(tblA)根据第一个变量中的值以升序对表中的行进行排序。 如果重复第一个变量中的元素,则排序行将按第二个变量中的元素进行排序,依此类推。如果tblA是时间表,则sortrows将基于tblA的行时间以升序对行进行排序。 时间表的行时间标记了时间表的第一个维度上的行。

tblB=sortrows(tblA,’RowNames’)根据表的行名对表进行排序。 表的行名称标记沿表的第一维的行。 如果tblA没有行名,即为空,则sortrows返回tblA。当tblA是时间表时,不支持此语法。

tblB = sortrows(tblA,rowDimName)通过沿第一个维度的行标签rowDimName对tblA进行排序。如果tblA是表,则行标签是行名。如果tblA是时间表,则行标签是行时间。

tblB = sortrows(tblA,vars)通过vars指定的变量中的元素对表进行排序。 例如,sortrows(tblA,{'Var1','Var2'})首先基于Var1中的元素,然后根据Var2中的元素对tblA的行进行排序。如果tblA是一个表并且具有行名,则vars可以包含行名。如果tblA是时间表,则vars可以包含行时间。

tblB = sortrows(___,direction)对任何先前的表语法,按方向指定的顺序对tblA进行排序。 方向可以是“升序”或“降序”,它应用于排序行所进行的所有指定变量,行名或行时间。 direction也可以是单元格数组,其元素为'ascend'和'descend',其中每个元素对应于指定的变量,行名或要排序的行时间。

tblB = sortrows(___,Name,Value)指定用于对表或时间表的行进行排序的其他参数。 例如,sortrows(tblA,'Var1','MissingPlacement','first')基于Var1中的元素进行排序,在表的开头对缺失的元素(如NaN)进行排序。

[tblB,index] = sortrows(___)还返回索引向量,使得tblB = tblA(index,:)。


例题:

创建一个矩阵,并根据第一列中的元素以升序对它的行进行排序。 当第一列包含重复的元素时,排序行将查找第二列中的元素以打破平局。 对于第二列中的重复元素,排序行将查找到第三列,依此类推。

A = floor(gallery('uniformdata',[6 7],0)*100);

A(1:4,1) = 95; A(5:6,1) = 76; A(2:4,2) = 7; A(3,3) = 73

A =

95 45 92 41 13 1 84

95 7 73 89 20 74 52

95 7 73 5 19 44 20

95 7 40 35 60 93 67

76 61 93 81 27 46 83

76 79 91 0 19 41 1

B=sortrows(A)

B =

76 61 93 81 27 46 83

76 79 91 0 19 41 1

95 7 40 35 60 93 67

95 7 73 5 19 44 20

95 7 73 89 20 74 52

95 45 92 41 13 1 84

C=sortrows(A,2)

C =

95 7 73 89 20 74 52

95 7 73 5 19 44 20

95 7 40 35 60 93 67

95 45 92 41 13 1 84

76 61 93 81 27 46 83

76 79 91 0 19 41 1

D=sortrows(A,[1,7])

D =

76 79 91 0 19 41 1

76 61 93 81 27 46 83

95 7 73 5 19 44 20

95 7 73 89 20 74 52

95 7 40 35 60 93 67

95 45 92 41 13 1 84

[E,index]=sortrows(A,4,'descend') %此段程序与[E,index]=sortrows(A,-4)相同。

E =

95 7 73 89 20 74 52

76 61 93 81 27 46 83

95 45 92 41 13 1 84

95 7 40 35 60 93 67

95 7 73 5 19 44 20

76 79 91 0 19 41 1

index =

2

5

1

4

3

6

对于复数矩阵:

创建一个包含复数的矩阵,然后根据第一列中的元素以升序对矩阵的行进行排序。 由于A(1,1)和A(3,1)的大小相等,因此排序行计算它们的角度以打破平局。

A = [1+2i 3+i i; 2+10i 6i 2+5i; 2+i 4 3+3i]

A =

1.0000 + 2.0000i 3.0000 + 1.0000i 0.0000 + 1.0000i

2.0000 +10.0000i 0.0000 + 6.0000i 2.0000 + 5.0000i

2.0000 + 1.0000i 4.0000 + 0.0000i 3.0000 + 3.0000i

B=sort(A)

B =

2.0000 + 1.0000i 3.0000 + 1.0000i 0.0000 + 1.0000i

1.0000 + 2.0000i 4.0000 + 0.0000i 3.0000 + 3.0000i

2.0000 +10.0000i 0.0000 + 6.0000i 2.0000 + 5.0000i

angle(A(1,1))

ans =

1.1071

angle(A(3,1))

ans =

0.4636

使用'real'选项按A的实部对A的行进行排序。 由于A(2,1)和A(3,1)具有相等的实部,所以排序行使用虚部来打破平局。

C = sortrows(A,'ComparisonMethod','real')

C =

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 +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 = {'Germany' 'Lukas'; 'USA' 'William'; 'USA' 'Andrew'; ...

'Germany' 'Andreas'; 'USA' 'Olivia'; 'Germany' 'Julia'}

A =

6×2 cell 数组

'Germany' 'Lukas'

'USA' 'William'

'USA' 'Andrew'

'Germany' 'Andreas'

'USA' 'Olivia'

'Germany' 'Julia'

B=sortrows(A)

B =

6×2 cell 数组

'Germany' 'Andreas'

'Germany' 'Julia'

'Germany' 'Lukas'

'USA' 'Andrew'

'USA' 'Olivia'

'USA' 'William'

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

C = sortrows(A,[1 2],{'ascend' 'descend'})

C =

6×2 cell 数组

'Germany' 'Lukas'

'Germany' 'Julia'

'Germany' 'Andreas'

'USA' 'William'

'USA' 'Olivia'

'USA' 'Andrew'

对表格行进行排序:

按变量值对表的行进行排序。创建一个包含四个变量的表格,其中列出了五个人的患者信息。

LastName = {'Smith';'Johnson';'Williams';'Jones';'Brown'};

Age = [38;43;38;40;49];

Height = [71;69;64;67;64];

Weight = [176;163;131;133;119];

BloodPressure = [124 93; 109 77; 125 83; 117 75; 122 80];

tblA = table(Age,Height,Weight,BloodPressure,'RowNames',LastName)

tblA =

5×4 table

Age Height Weight BloodPressure

___ ______ ______ _____________

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函数首先按变量Age排序,然后按变量Height升序对行进行排序,以打破年龄相等的两行之间的关系。

tblB = sortrows(tblA)

tblB =

5×4 table

Age Height Weight BloodPressure

___ ______ ______ _____________

Williams 38 64 131 125 83

Smith 38 71 176 124 93

Jones 40 67 133 117 75

Johnson 43 69 163 109 77

Brown 49 64 119 122 80

按行名对表行进行排序:

[tblB,index] = sortrows(tblA,'RowNames')

tblB =

5×4 table

Age Height Weight BloodPressure

___ ______ ______ _____________

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

index =

5

2

4

1

3

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“matlab如何操作table,matlab文件操作,matlab如何操作可以结束选取像素,MATLAB如何操作word光标,matlab如何撤销操作,matl”边界阅读