Main Content

関数の引数の数の確認

この例では、narginnargout を使用して、関数が受け取る入出力引数の数を判定する方法を示します。

入力引数

addme.m というファイルに、最大で 2 つの入力を受け入れる関数を作成します。nargin を使って入力の数を特定します。

function c = addme(a,b)

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

1、2 または 0 個の入力引数を指定して addme を呼び出します。

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

出力引数

addme2.m というファイルに、1 つまたは 2 つの出力 (結果とその絶対値) を返すことのできる新たな関数を作成します。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

1 つまたは 2 つの出力引数を指定して addme2 を呼び出します。

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

absValue =
    11

関数は、関数定義で宣言されている順序で出力を返します。

参考

| | |