| MATLAB Function Reference | ![]() |
Overloaded method for A(I), A{I} and A.field
Syntax
Description
B = subsref(A,S)
is called for the syntax A(i), A{i}, or A.i when A is an object. S is a structure array with the fields:
type: A string containing '()', '{}', or '.', where '()' specifies integer subscripts; '{}' specifies cell array subscripts, and '.' specifies subscripted structure fields.
subs: A cell array or string containing the actual subscripts.
Remarks
subsref is designed to be used by the MATLAB interpreter to handle indexed references to objects. Calling subsref directly as a function is not recommended. If you do use subsref in this way, it conforms to the formal MATLAB dispatching rules and may yield unexpected results.
Examples
The syntax A(1:2,:) calls subsref(A,S) where S is a 1-by-1 structure with S.type='()' and S.subs={1:2,':'}. A colon used as a subscript is passed as the string ':'.
The syntax A{1:2} calls subsref(A,S) where S.type='{}' and S.subs={1:2}.
The syntax A.field calls subsref(A,S) where S.type='.' and S.subs='field'.
These simple calls are combined in a straightforward way for more complicated subscripting expressions. In such cases length(S) is the number of subscripting levels. For instance, A(1,2).name(3:5) calls subsref(A,S) where S is 3-by-1 structure array with the following values:
|
|
|
|
|
|
See Also
See Handling Subscripted Reference for more information about overloaded methods and subsref.
| subspace | substruct | ![]() |