Sei sulla pagina 1di 2

Data type: Structures

Partly copied from MATLAB Product Help

You don't need to write a structure in this lab, but you MUST learn how to use it!

Contents

What is a structure?
Reasons to use a structure
Structure fields

What is a structure?

A structure is a MATLAB data type that provides the means to store selected data together in
a single entity. A structure consists mainly of data containers, called fields, and each of these
fields stores an array of some MATLAB data type. You assign a name to each field as you
create the structure. The figure below shows a structure s that has three fields: a, b, and c.

Each field of a structure contains a separate MATLAB array. This array can belong to any
one MATLAB or user-defined class, and can have any valid array dimensions. A second
field of the same structure can belong to an entirely different class, and can also have
different dimensions than the first. The fields of the structure shown above, for example,
contain a 1-by-6 array of class double, a 1-by-5 array of class char, and a 3-by-3 array of
double.

Reasons to use a structure

Perhaps the most common reason for using a structure (or a cell array) is the ability to store
arrays of mixed classes and sizes. Most MATLAB arrays must contain the same number of
elements which must also be of the same class. The role of the structure, and cell array, as
containers of heterogeneous data is very important.

A structure also provides the means to store selected data together in a single entity. This
offers you the ability to access and operate on all or parts of the data collectively. You can
apply functions directly to a structure, pass the structure to and from your M-file functions,
display the value of any fields, or perform most any MATLAB operation on the contents of a
structure.

A third reason to use structures is that they give you the ability to apply text labels to your
data, as opposed to using array subscripting.
Structure fields

To access the contents of a struct array, you first need to find out what the names of its fields
are. Simply type the name of the structure (e.g., s) tells you the name of its fields, and what
type of class these fields are:

s =

a: [1 4 7 2 9 3]
b: 'James'
c: [3x3 double]

Then you can use the syntax s.a to read the information inside field a of the structure s:

s.a

ans =

1 4 7 2 9 3

Note: it is possible that a field of a structure is a structure itself, like isoc you are going to
load from file isochrones.mat.

Published with MATLAB 7.8

Potrebbero piacerti anche