Orderfields
结构数组的订单字段
句法
S =订购(S1)
S =订购(S1,S2)
S =订购(S1,C)
S =订购(S1,Perm)
[S,perm] = orderfields(...)
描述
S =订购(S1)
订购字段S1
使新结构数组s
在ASCII字典顺序中具有字段名称。
S =订购(S1,S2)
订购字段S1
使新结构数组s
具有与在相同顺序的字段名称S2
。结构sl
和S2
必须具有相同的字段。
S =订购(S1,C)
订购字段S1
使新结构数组s
具有与名称相同的字段名称C
。输入参数C
可以是字符向量的单元格数组或字符串数组。结构S1
和数组C
必须包含相同的字段名称。
S =订购(S1,Perm)
订购字段S1
使新结构数组s
在置换矢量中指定的索引指定的顺序中具有字段名称珀斯
。
如果S1
拥有n
fieldnames,元素珀斯
必须是数字的安排1
到n
。如果您有多个结构阵列,您希望以相同的方式重新排序,这一点特别有用。
[S,perm] = orderfields(...)
返回代表更改的置换矢量,以在结构阵列的字段上执行的顺序s
。
例子
创建一个结构s
。然后从s
,但随着字段按字母顺序排序:
s = struct('b',2,'c',3,'a',1)s = b:2 c:3 a:1 snew = orderfields snew = a:1 b:2 c:3 c:3
安排s
按照第二个(单元格数)参数指定的顺序Orderfields
。返回新结构侦听
以及用于创建它的排列向量珀斯
:
[Snew,perm] = orderfields(s,{'b','a','c'})snew = b:2 a:1 c:1 c:3 perm = 1 3 2
现在创建一个新结构,S2
,具有与s
。使用置换矢量在上一个操作中返回的置换矢量重新排序字段:
s2 = struct('b',3,'c',7,'a',4)s2 = b:3 c:7 a:4 snew = orderfields(s2,perm)snew = b:3 a:3 a:4 c:7
尖端
Orderfields
仅订购顶级字段。它不是递归的。
在R2006a之前引入
这个话题有帮助吗?