修改nargout和nargin的索引方法

当对参数的修改号码

缺省情况下,值的由索引操作中引用的数目确定多少输出参数MATLAB®用来调用的subsref。类似地,值的分配在索引分配操作数量决定许多输入参数如何MATLAB的使用到呼叫subsasgn

如果你的类设计要求索引操作的回报或分配不同数量的值比索引操作,使用规定的数量numArgumentsFromSubscript指定所需的数量。numArgumentsFromSubscript提供控制nargout对于的subsrefnargin对于subsasgn

如果你的类使用numArgumentsFromSubscript, 实行的subsrefsubsasgn方法来定义退回或索引操作分配的实际值。

前MATLAB释放R2015b,MATLAB产生不同的结果对于一些索引表达式返回或指定一个逗号分隔的列表。用numArgumentsFromSubscript以支持万博1manbetx代码依赖于以前的版本中的行为。此外,现在你可以重载numArgumentsFromSubscript代替numel以取得具体成果不需要重新定义如何numel作品。

如何参数的修改号码

当一个类重载numArgumentsFromSubscript,MATLAB调用此方法,而不是numel计算的预期参数个数的subsrefnargoutsubsasgnnargin

如果类不超载numArgumentsFromSubscript,MATLAB调用numel计算的值nargout要么nargin

MATLAB电话numArgumentsFromSubscript有三个输入参数:

功能N = numArgumentsFromSubscript(OBJ,S,indexingContext)...结束
输入参数 描述

OBJ

对象,其的subsref要么subsasgn方法被调用

小号

包含在操作中使用的索引类型和索引的索引结构

indexingContext

上下文在其中发生转位操作:作为用作函数参数的声明,索引参考索引的参考,和索引分配

MATLAB使用返回的值numArgumentsFromSubscript对索引参考和分配。通过测试的值的索引操作执行,其中确定上下文indexingContext在你的实现numArgumentsFromSubscript。例如,测试任何或所有可能的索引上下文。

功能N = numArgumentsFromSubscript(OBJ,〜,indexingContext)开关indexingContext案件matlab.mixin.util.IndexingContext.Statement N =...;对索引参考%nargout用作声明案件matlab.mixin.util.IndexingContext.Expression N =...;对索引参考%nargout用作函数的参数案件matlab.mixin.util.IndexingContext.Assignment N =...;%nargin对索引分配结束结束

欲了解更多信息和示例,请参阅numArgumentsFromSubscript

注意

对于MATLAB版本R2015b及更高版本,超载numArgumentsFromSubscript代替numel自定义索引为你的类。

相关话题