最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

arguments

関数の引数の検証を宣言

説明

arguments ... end は、関数の冒頭で入力引数の制限を宣言するために使用されるコード ブロックを区切ります。引数ブロック内で、入力引数のサイズおよびクラスに制限を課すことができ、また、検証関数を使用して特定の値をテストすることができます。

arguments (Repeating) ... end は、繰り返し引数のブロックを区切ります。

すべて折りたたむ

arguments ブロックを使用して、入力引数のサイズとクラスを制限します。

入力引数のサイズとクラスを数値の行列に制限する関数を作成します。arguments ブロックの使用の詳細については、arguments ブロック構文を参照してください。

function [m,s] = Stat(x)
    arguments
        x (:,:) {mustBeNumeric}
    end
    m = mean(x,'all');
    s = std(x,1,'all');
end

誤ったサイズの入力で関数を呼び出します。結果はエラーとなります。

[m,s] = Stat(rand(10,10,10))
Invalid input argument at position 1. Value must be a matrix.

繰り返し引数を定義します。

繰り返し引数は、関数呼び出しで 0 回以上繰り返すことのできる単一の引数または引数のグループです。関数 fRepeat は、引数 xy、および style の繰り返しグループを受け入れます。xy は double のベクトルであるか、double に変換可能でなければなりません。style は文字列 '--' または ':' でなければなりません。

繰り返し引数の詳細については、繰り返し引数を参照してください。

function fRepeat(x,y,style)
    arguments (Repeating)
        x (1,:) double
        y (1,:) double
        style {mustBeMember(style,{'--',':'})}       
    end
    
    % Interleave inputs and call plot function
    z = reshape([x;y;style],1,[]);
    if ~isempty(z)
        plot(z{:});
    end
end

2 つの入力グループを指定して fRepeat を呼び出します。

x1 = 1:10; x2 = 1:5;
y1 = 1:10; y2 = 1:5;
s1 = ':'; s2 = '--';
fRepeat(x1,y1,s1,x2,y2,s2)

参考

R2019b で導入