| MATLAB Function Reference | ![]() |
Order fields of structure array
Syntax
s = orderfields(s1) s = orderfields(s1, s2) s = orderfields(s1, c) s = orderfields(s1, perm) [s, perm] = orderfields(...)
Description
s = orderfields(s1)
orders the fields in s1 so that the new structure array s has field names in ASCII dictionary order.
s = orderfields(s1, s2)
orders the fields in s1 so that the new structure array s has field names in the same order as those in s2. Structures sl and s2 must have the same fields.
s = orderfields(s1, c)
orders the fields in s1 so that the new structure array s has field names in the same order as those in the cell array of field name strings c. Structure s1 and cell array c must contain the same field names.
s = orderfields(s1, perm)
orders the fields in s1 so that the new structure array s has fieldnames in the order specified by the indices in permutation vector perm.
If s1 has N fieldnames, the elements of perm must be an arrangement of the numbers from 1 to N. This is particularly useful if you have more than one structure array that you would like to reorder in the same way.
[s, perm] = orderfields(...)
returns a permutation vector representing the change in order performed on the fields of the structure array that results in s.
Remarks
orderfields only orders top-level fields. It is not recursive.
Examples
Create a structure s. Then create a new structure from s, but with the fields ordered alphabetically:
Arrange the fields of s in the order specified by the second (cell array) argument of orderfields. Return the new structure in snew and the permutation vector used to create it in perm:
Now create a new structure, s2, having the same fieldnames as s. Reorder the fields using the permutation vector returned in the previous operation:
s2 = struct('b', 3, 'c', 7, 'a', 4) s2 = b: 3 c: 7 a: 4 snew = orderfields(s2, perm) snew = b: 3 a: 4 c: 7
See Also
struct, fieldnames, setfield, getfield, isfield, rmfield, dynamic field names
| ordeig | ordqz | ![]() |
© 1994-2005 The MathWorks, Inc.