Indexed Reference
In this section...
“How Indexed Reference Works” on page 17-28
“Compound Indexed References” on page 17-29How Indexed Reference Works
Object indexed references are in three forms — parentheses, braces, and dot-name:A(I)
A{I}
A.nameEach of these statements results in a call by MATLAB to the subsref of class A, or a call
to the built-in subsasgn function if the class of A does not implement a subsasgn
method.MATLAB passes two arguments to subsref and requires subsref to return the result of
the indexed reference:B = subsref(A,S)The first argument is the object being referenced, A. The second argument, S, is a
substruct with two fields:- S.type is a char vector containing '()', '{}', or '.' specifying the indexing type
used. - S.subs is a cell array or char vector containing the actual index or name. A colon
used as an index is passed in the cell array as the colon character ':'. Ranges
specified using a colon (e.g., 2:5) are expanded to 2 3 4 5.
For example, the expression:A(1:4,:)Causes MATLAB to call subsref(A,S), where S is a 1-by-1 structure with a two-element
cell array. The cell array contains the numbers 1, 2, 3, 4, and the colon character :.S.type = '()'
S.subs = {1:4,':'}17 Specialize Object Behavior