MATLAB オプションの引数

Ammar Ali 2021年6月20日
MATLAB オプションの引数

このチュートリアルでは、MATLAB の nargin プロパティと varargin プロパティを使用して、関数のオプションの引数を設定する方法について説明します。

MATLAB の varargin および nargin プロパティを使用して、関数のオプションの引数を設定する

関数名の括弧内の varargin プロパティを使用して関数に任意の数の入力を与えることができ、nargin プロパティを使用して関数に渡された入力の数を確認できます。たとえば、varargin プロパティを使用して任意の数の入力を受け入れる関数を作成し、nargin プロパティを使用して入力の数を取得してみましょう。以下のコードを参照してください。

Number_of_inputs = sample(2,1,1)
function output = sample(varargin)
    output = nargin;
end

出力:

Number_of_inputs =

     3

ご覧のとおり、関数に 3つの入力を渡しました。これにより、入力の総数が返されます。varargin には、必要に応じて使用できる入力の配列が含まれています。たとえば、入力の数を取得してから、for ループを使用してそれらの入力を出力してみましょう。以下のコードを参照してください。

Number_of_inputs = sample(2,'Hello',[1,2,3]);
function output = sample(varargin)
    output = nargin;
    for i=1:nargin
        disp(varargin{i})
    end
end

出力:

     2

Hello
     1     2     3

出力からわかるように、入力が表示されています。したがって、インデックスを使用して、varargin セル配列に保存されている特定の入力を取得し、要件に応じてそれらを使用できます。これらの入力はすべてオプションですが、必須の入力を追加する場合は、varargin の前に追加できます。関数呼び出し中に必須入力を追加する必要があることに注意してください。そうしないと、関数はエラーを出します。たとえば、2つの必須の引数を追加してから、それらを追加して出力を取得すると、オプションの引数が表示されます。以下のコードを参照してください。

sum = sample(2,3,[1,2,3],'Hello')
function output = sample(x,y,varargin)
    output = x+y;
    for i=1:nargin-2
        disp(varargin{i})
    end
end

出力:

     1     2     3

Hello

sum =

     5

出力からわかるように、最初の 2つの入力が合計を取得するために追加され、オプションの引数が表示されます。nargin は、varargin セル配列に存在する入力ではなく、入力の総数を与えるため、nargin から 2 を引いていることに注意してください。varargin プロパティの詳細については、このリンクを確認してください。

著者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

関連記事 - MATLAB Function