Previous: Manipulating Structures, Up: Structures [Contents][Index]
The simplest way to process data in a structure is within a for
loop (see Looping Over Structure Elements). A similar effect can be
achieved with the structfun
function, where a user defined
function is applied to each field of the structure.
See structfun.
Alternatively, to process the data in a structure, the structure might be converted to another type of container before being treated.
Create a new cell array from the objects stored in the struct object.
If f is the number of fields in the structure, the resulting cell
array will have a dimension vector corresponding to
[f size(s)]
. For example:
s = struct ("name", {"Peter", "Hannah", "Robert"}, "age", {23, 16, 3}); c = struct2cell (s) ⇒ c = {2x1x3 Cell Array} c(1,1,:)(:) ⇒ { [1,1] = Peter [2,1] = Hannah [3,1] = Robert } c(2,1,:)(:) ⇒ { [1,1] = 23 [2,1] = 16 [3,1] = 3 }
See also: cell2struct, namedargs2cell, fieldnames.
Create a cell array of field name/value pairs from a scalar structure.
Example:
s.Name = "Peter"; s.Height = 185; s.Age = 42; c = namedargs2cell (s) ⇒ { "Name", "Peter", "Height", 185, "Age", 42 }
See also: struct2cell.