Определение количества аргументов функции

Этот пример показывает, как определить, сколько аргументов ввода или вывода ваша функция получает использование nargin и nargout.

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

Создайте функцию в файле с именем addme.m, который принимает до двух входных параметров. Идентифицируйте количество входных параметров с nargin.

function c = addme(a,b)

switch nargin
    case 2
        c = a + b;
    case 1
        c = a + a;
    otherwise
        c = 0;
end

Вызовите addme с один, два, или обнулите входные параметры.

addme(42)
ans =
    84
addme(2,4000)
ans =
        4002
addme
ans =
     0

Выходные аргументы

Создайте новую функцию в файле с именем addme2.m, который может возвратить одни или два выходных параметров (результат и его абсолютное значение). Идентифицируйте количество требуемых выходных параметров с nargout.

function [result,absResult] = addme2(a,b)

switch nargin
    case 2
        result = a + b;
    case 1
        result = a + a;
    otherwise
        result = 0;
end

if nargout > 1
   absResult = abs(result);
end

Вызовите addme2 с одним или двумя выходными аргументами.

value = addme2(11,-22)
value =
    -11
[value,absValue] = addme2(11,-22)
value =
   -11

absValue =
    11

Функции возвращают выходные параметры в порядке, которым они объявляются в функциональном определении.

Смотрите также

| | |

Была ли эта тема полезной?