Other functions that can manipulate the fields of a structure are given below.
Return a cell array of strings naming the elements of the structure struct. It is an error to call
fieldnames
with an argument that is not a structure.
Return true if the x is a structure and it includes an element named name. If name is a cell array of strings then a logical array of equal dimension is returned.
Extract a field from a structure (or a nested structure). For example:
ss(1,2).fd(3).b = 5; getfield (ss, {1,2}, "fd", {3}, "b") ⇒ 5Note that the function call in the previous example is equivalent to the expression
i1 = {1,2}; i2 = "fd"; i3 = {3}; i4= "b"; ss(i1{:}).(i2)(i3{:}).(i4) ⇒ 5See also: setfield, rmfield, isfield, isstruct, fieldnames, struct.
Set a field member in a (nested) structure array. For example:
oo(1,1).f0 = 1; oo = setfield (oo, {1,2}, "fd", {3}, "b", 6); oo(1,2).fd(3).b == 6 ⇒ ans = 1Note that the same result as in the above example could be achieved by:
i1 = {1,2}; i2 = "fd"; i3 = {3}; i4 = "b"; oo(i1{:}).(i2)(i3{:}).(i4) == 6 ⇒ ans = 1See also: getfield, rmfield, isfield, isstruct, fieldnames, struct.
Return a copy of the structure (array) s with the field f removed. If f is a cell array of strings or a character array, remove the named fields.
Return a copy of s1 with fields arranged alphabetically or as specified by s2.
Given one struct, arrange field names in s1 alphabetically.
If the second argument is a struct, arrange field names in s1 as they appear in s2. The second argument may also specify the order in a permutation vector or a cell array of strings containing the fieldnames of s1 in the desired order.
The optional second output argument p is assigned the permutation vector which converts the original name order into the new name order.
Examples:
s = struct("d", 4, "b", 2, "a", 1, "c", 3); t1 = orderfields (s) ⇒ t1 = { a = 1 b = 2 c = 3 d = 4 } t = struct("d", {}, "c", {}, "b", "a", {}); t2 = orderfields (s, t) ⇒ t2 = { d = 4 c = 3 b = 2 a = 1 } t3 = orderfields (s, [3, 2, 4, 1]); ⇒ t3 = { a = 1 b = 2 c = 3 d = 4 } [t4, p] = orderfields (s, {"d", "c", "b", "a"}) ⇒ t4 = { d = 4 c = 3 b = 2 a = 1 } p = 1 4 2 3See also: getfield, rmfield, isfield, isstruct, fieldnames, struct.