Main Content

nargchk

验证输入参数数目

不推荐使用 nargchk。请改用 narginchk

说明

示例

msgText = nargchk(minArgs,maxArgs,numArgs) 验证输入参数的数目,如果输入数目 numArgs 小于 minArgs 或大于 maxArgs,则返回消息。

此语法等同于 msgText = nargchk(minArgs,maxArgs,numArgs,'string')

示例

msgStruct = nargchk(minArgs,maxArgs,numArgs,'struct') 返回一个消息结构体而非字符向量。

示例

全部折叠

在名为 checkInputs 的文件中创建一个函数,该函数使用 nargchk 验证是否使用了有效的输入数目来调用该函数。

function checkInputs(varargin)
    msgTxt = nargchk(2,3,nargin)
end

使用有效的输入数目调用 checkInputs 函数。nargchk 返回一个空字符向量。

checkInputs(13,7)
msgTxt =

     []

调用具有太少输入的 checkInputs 函数。

checkInputs(42)
msgTxt =

    'Not enough input arguments.'

调用具有太多输入的 checkInputs 函数。

checkInputs(0,1,1,2,3)
msgTxt =

    'Too many input arguments.'

在名为 checkInputs 的文件中创建一个函数,该函数将 nargchk'struct' 参数结合使用,验证是否使用了有效的输入数目来调用该函数。

function checkInputs(varargin)
    msgStruct = nargchk(2,3,nargin,'struct');
    error(msgStruct)
end

在命令提示符处使用可接受数目的输入调用 checkInputs 函数。nargchk 不引发错误。

checkInputs(13,7)

调用具有太少输入的 checkInputs 函数。

checkInputs(42)
Error using checkInputs (line 3)
Not enough input arguments.

调用具有太多输入的 checkInputs 函数。

checkInputs(0,1,1,2,3)
Error using checkInputs (line 3)
Too many input arguments.

输入参数

全部折叠

接受的最小输入数目,指定为标量。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

接受的最大输入数目,指定为标量。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

函数输入数目,指定为标量。通常,使用 nargin 函数来确定函数调用中指定的输入参数数目。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

输出参数

全部折叠

消息文本,以 'Not enough input arguments.''Too many input arguments.' 或空矩阵形式返回。

如果 numArgs 小于 minArgsnargchk 将返回字符向量 'Not enough input arguments.'。如果 numArgs 大于 maxArgsnargchk 将返回字符向量 'Too many input arguments.'。其他情况下,nargchk 将返回空矩阵。

消息和标识符,以包含 messageidentifier 字段的结构体形式返回。如果 numArgs 小于 minArgs,则 nargchk 返回下面的结构体:

       message: 'Not enough input arguments.'
    identifier: 'MATLAB:nargchk:notEnoughInputs'

如果 numArgs 大于 maxArgs,则 nargchk 返回下面的结构体:

       message: 'Too many input arguments.'
    identifier: 'MATLAB:nargchk:tooManyInputs'

其他情况下,nargchk 将返回一个空结构体。

提示

  • nargchk 通常与 error 函数结合使用。error 函数可以接受两种类型的 nargchk 返回值:消息字符向量或消息结构体。例如,此命令使用 nargchk 输出消息结构体作为 error 函数的输入。

    error(nargchk(2,4,nargin,'struct'))

    如果输入参数的数目在预期范围内,nargchk 将返回一个空字符向量或结构体。当 error 函数收到空字符向量或结构体时,它不会引发错误。

扩展功能

基于线程的环境
使用 MATLAB® backgroundPool 在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool 加快代码运行速度。

版本历史记录

在 R2006a 之前推出