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
プロパティの詳細については、このリンクを確認してください。