narginchk

Проверьте количество входных параметров

Синтаксис

narginchk(minArgs,maxArgs)

Описание

пример

narginchk(minArgs,maxArgs) проверяет количество входных параметров в вызове функции выполняющегося в данного момента. narginchk выдает ошибку, если количество входных параметров, заданных в вызове, является меньше, чем minArgs или больше, чем maxArgs. Если количество входных параметров между minArgs и maxArgs (включительно), то narginchk ничего не делает.

Примеры

свернуть все

Проверьте, что функция вызвана с минимумом два и максимумом пяти входных параметров.

В файле с именем checkInputs.m создайте функцию, которая использует narginchk, чтобы проверить, что функция была вызвана с верным номером входных параметров. Функциональная подпись указывает, что checkInputs требует двух входных параметров и принимает до трех дополнительных, дополнительных аргументов.

function checkInputs(A,B,varargin)
    minArgs=2;
    maxArgs=5;
    narginchk(minArgs,maxArgs)
    
    fprintf('Received 2 required and %d optional inputs\n', length(varargin))
end

Вызовите функцию с одним входным параметром.

checkInputs(13)
Error using checkInputs (line 4)
Not enough input arguments.

Вызовите функцию снова с пятью входными параметрами.

checkInputs(13,7,42,1701,5)
Received 2 required and 3 optional inputs

Вызовите функцию снова с шестью входными параметрами.

checkInputs(13,7,42,1701,5,88)
Error using checkInputs (line 4)
Too many input arguments.

Входные параметры

свернуть все

Минимальное количество принятых входных параметров, заданных как скаляр.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Максимальное количество принятых входных параметров, заданных как скаляр.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Советы

  • Чтобы проверить, что, вы имеете минимальное количество аргументов, но никакое максимальное количество, устанавливаете maxArgs на inf. Например: narginchk(5,inf) выдает ошибку, когда существует меньше чем пять входных параметров.

  • Чтобы проверить, что у вас есть точное количество аргументов, задайте то же значение для minArgs и maxArgs. Например: narginchk(3,3) выдает ошибку, если у вас нет точно трех входных параметров.

    Если вы вызываете функцию с очень небольшим числом входных параметров, идентификатор сообщения и сообщение:

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

    Когда слишком много входных сигналов поданы, идентификатор сообщения и сообщение:

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

  • Если minArgs 0, и maxArgs является nargin(fun), то вы не должны использовать narginchk.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Представленный в R2011b

Для просмотра документации необходимо авторизоваться на сайте