MATLAB®可以在索引表达式中使用对象作为索引。数组索引规则适用-索引必须是正整数。因此,MATLAB必须能够从对象中推导出一个值,该值为索引表达式中使用的正整数。
索引表达式如X(一个)
,在那里一个
是一个对象,导致MATLAB调用subsindex
函数。但是,如果索引表达式导致从matlab.mixin.indexing.RedefinesParen
,matlab.mixin.indexing.RedefinesDot
,或matlab.mixin.indexing.RedefinesBrace
定义的类X
,则MATLAB不调用subsindex
.
有几种方法可以实现一个对象对另一个对象的索引,X(一个)
:
定义一个subsindex
类中的方法一个
转换一个
一个整数。MATLAB调用一个
的subsindex
的类时执行索引操作X
从matlab.mixin.indexing.RedefinesParen
,matlab.mixin.indexing.RedefinesDot
,或matlab.mixin.indexing.RedefinesBrace
.
如果X
过载的方法RedefinesParen
,RedefinesDot
,或RedefinesBrace
这些方法可以调用subsindex
的方法一个
明确。的类一个
必须实现一个subsindex
方法返回适当的值。
subsindex
必须返回对象的值为范围内的从零开始的整数索引值0
来刺激(大小(X)) 1
.
假设您想要使用object一个
索引到对象B
.B
可以是单个对象或数组,这取决于类的设计。
C = B (A);
这里有两个例子subsindex
方法。第一个假设你可以转换类一个
到一个uint8
.第二种假设是类一个
在属性中存储索引值。
的subsindex
由类实现的方法一个
可以将对象转换为数字格式以用作索引:
函数index = uint8(obj);结束
的类obj
实现了一个uint8
方法提供从对象到整数值的转换。
类一个
实现了subsindex
返回存储在属性中的数值:
函数ind = subsindex(obj) ind = obj. elementindex;结束
请注意
subsindex
值是基于0,而不是基于1。
matlab.mixin.indexing.RedefinesParen
|matlab.mixin.indexing.RedefinesDot
|matlab.mixin.indexing.RedefinesBrace