Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

nargin

関数の入力引数の数

説明

nargin は、現在実行中の関数の呼び出し時に渡された関数入力引数の数を返します。この構文は、関数の本体にだけ使用してください。arguments 検証ブロックを使用する場合、関数内で nargin が返す値は、関数を呼び出すときに指定した位置引数の数です。詳細については、引数の検証時の関数 nargin の使用を参照してください。

nargin(fun) は、関数 fun の定義内に現れる入力引数の数を返します。この関数がその定義に varargin を含む場合は、nargin は入力数の負の数値を返します。たとえば、関数 myFun が入力 ab、および varargin を宣言する場合、nargin('myFun')-3 を返します。

arguments 検証ブロックを使用する関数を fun が参照する場合、戻り値は関数定義内で非負の値として宣言した位置引数の数です。

すべて折りたたむ

addme.m というファイルに、最大で 2 つの入力を受け入れる関数を作成します。この関数の本体で nargin を使用し、入力の数を判別します。

type addme.m
function c = addme(a,b)
    switch nargin
        case 2
            c = a + b;
        case 1
            c = a + a;
        otherwise
            c = 0;
    end
end

コマンド プロンプトで 2 つの入力を使用して関数 addme を呼び出します。

c = addme(13,42)
c = 55

1 つの入力を使用してこの関数を呼び出します。

c = addme(13)
c = 26

関数が受け取れる入力数を決定します。

上記の例で作成された関数 addme は、その宣言ステートメントに 2 つの入力をもっています (ab)。関数名を文字ベクトルとして定義し、nargin の入力として使用します。

fun = 'addme';
nargin(fun)
ans = 2

varargin を使用する関数が受け取れる入力数を決定します。

mynewplot.m というファイルに、varargin を使用して任意数の追加のプロット入力と、数値入力 x および y を受け取る関数を作成します。

type mynewplot.m
function mynewplot(x,y,varargin)
    figure
    plot(x,y,varargin{:})
    title('My New Plot')
end

newplot が受け取れる入力数をクエリします。

fx = 'mynewplot';
nargin(fx)
ans = -3

マイナス記号は、3 番目の入力が varargin であることを示します。関数 mynewplot は、不確定数の追加入力引数を受け取ることができます。

入力引数

すべて折りたたむ

nargin が定義から入力引数の数を返す対象の関数。関数ハンドル、文字ベクトル、または string スカラーとして指定します。

例: @cos

例: 'plot'

データ型: char | function_handle

拡張機能

バージョン履歴

R2006a より前に導入