Struct Operations

struct

Syntax

s = struct
s = struct(fieldname1,value1,…,fieldnameN,valueN)
s = struct([])

Description

This operation returns struct arras with the specified fields and values.

  • The form struct returns a 1 by 1 struct array with no fields.
  • The form struct(fieldname1,value1,…,fieldnameN,valueN) returns a struct array with the given field and values. If any of the field or values provided or non-scalar, then the dimensions of all the non-scalar field and values should be the same, and the array returned will have the non-scalar dimension.
  • The form struct([]) returns a 0 by 0 empty struct array with no fields.

fieldnames

Syntax

fieldnames(s)

Description

Given a struct or struct array, this returns the names of the fields as a cell array.

isfield

Syntax

tf = isfield(S, 'field')
tf = isfield(S, C)

This function determines if a structure array contains the given field name(s).

  • The first form takes a single field name and returns a scalar logical value which is true if the structure array contains the given field name, and false otherwise.
  • The second form accepts a structure array and a cell array of character vectors, each indicating a field name. The return value of the function is a logical array with the same dimensions as the cell array, containing a logical value indicating, for each field name, if that field is present in the given structure array.

isstruct

Syntax

tf = isstrut(A)

This function determines if a value is a scalar or array of structures. It returns a scalar true if so, and false otherwise.

rmfield

Syntax

s = rmfield(s,field)

This function removes the named field or fields from the structure array s and returns the modified result. field should either be a single field name, or a cell array of field names.

getfield

Syntax

value = getfield(s, field)

This function extracts the value of the named field from the scalar structure s.

MATLAB supports more complicated forms of the getfield function, but these forms are not currently supported by Grackle.

setfield

Syntax

s = setfield(s,field,value)

Set the value of field in scalar structure s to value, returning the modified result. field should be a character array denoting a field name.

MATLAB supports more complicated forms of the setfield function, but these forms are not currently supported by Grackle.