Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

関数入力の解析方法

MATLAB® は動的に型指定されるため、変数は宣言された型をもたず、さまざまな型の値をもつことができます。しかし、値は常に特定の型に属し、プログラムが変数の現在の値のクラスとサイズをクエリすることは常に可能です。

関数の入力引数は関数ワークスペース内の変数であり、その値は呼び出しコードまたはコマンド ラインのユーザーから指定されます。関数が作成者以外にも広く使用されている場合は、入力値が関数のコードで想定される値と一致するかどうかを判断する必要があります。

入力値が想定と異なっていて関数を意図どおりに実行できない場合は、引数チェックによって、関数でさらに有用な情報を提供することができます。MATLAB では、関数入力をチェックして処理するプロセスを簡略化するための方法がいくつか提供されています。

関数の引数の検証

MATLAB の多くの関数は、以下の入力引数のパターンのいずれかを使用します。

  • 1 つ以上の必須の入力引数

  • 1 つ以上の必須の入力引数の後に 1 つ以上のオプションの入力引数が続く

  • 前述のパターンのいずれかの後に名前と値のペアが続く

これらの共通パターンを実装する効率的な方法は、関数の引数の検証で説明されているように、関数の arguments ブロックを使用して引数を指定するやり方です。この構文は Release R2019b で新たに導入され、それより前のリリースでは機能しません。

関数の引数の検証は、関数の入力引数に特定の制限を宣言するための 1 つの方法です。これにより、関数の入力値のクラス、サイズ、および他の特性を制約することができ、これらのテストを実行するコードを関数本体に記述する必要はありません。

validateattributes

関数 validateattributes を使って、関数への入力が一連の要件に従っていることを検証できます。各入力引数に対して、引数の要件を指定するパラメーターを使用して validateattributes を呼び出します。

inputParser

複雑な関数シグネチャでは、inputParser オブジェクトを使用して、入力引数の要件をプログラムで表現します。inputParser オブジェクトは一連の入力を解析し、検証します。

参考

| |

関連するトピック