文件

Orderfields.

结构阵列的订单字段

句法

s = OrderFields(S1)
s = OrderFields(S1,S2)
s = OrderFields(S1,C)
s = OrderFields(S1,PERM)
[s,perm] = Orderfields(...)

描述

s = OrderFields(S1)订购字段S1这样新的结构阵列S.有ASCII字典顺序的字段名称。

s = OrderFields(S1,S2)订购字段S1这样新的结构阵列S.具有与那些相同的字段名称S2。结构slS2必须具有相同的字段。

s = OrderFields(S1,C)订购字段S1这样新的结构阵列S.具有与单元数组中的名称相同的字段名称C。结构S1和细胞阵列C必须包含相同的字段名称。

s = OrderFields(S1,PERM)订购字段S1这样新的结构阵列S.在排列矢量中指定指定的顺序具有字段名称烫发

如果S1拥有N.场上名称,元素烫发必须是数字的安排1N.。如果您有多个结构数组,则特别有用,您希望以相同的方式重新排序。

[s,perm] = Orderfields(...)返回表示在结构阵列的字段上执行的顺序更改的排列载体S.

例子

创建一个结构S.。然后创建一个新的结构S.,但是字母顺序排序:

s = struct('b',2,'c',3,'a',1)s = b:2 c:3 a:1 snew = sernfields snew = a:1 b:2 c:3

安排S.按照第二(单元格数组)参数指定的顺序Orderfields.。返回新的结构sn和用于创建它的排列载体烫发

[SNEW,PERM] = OrderFields(s,{'b','a','c'})snew = b:2 a: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 = serverfields(s2,perm)snew = b:3 a:4 c:7

尖端

Orderfields.只订购顶级字段。它不是递归。

在R2006A之前介绍

这个主题有用吗?