このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
引数の検証関数
MATLAB は引数の検証に使用する関数を定義します。これらの関数は、検証のための一般的な使用パターンをサポートし、説明的なエラー メッセージを提供します。以下の表で、MATLAB® 検証関数を分類し、その使用方法を説明しています。
数値属性
名前 | 意味 | 入力で呼び出される関数 |
---|---|---|
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
他の値との比較
名前 | 意味 | 入力で呼び出される関数 |
---|---|---|
|
| |
|
| |
|
| |
|
|
データ型
名前 | 意味 | 入力で呼び出される関数 |
---|---|---|
|
| クラス定義の関係を使用 |
|
| |
|
| |
|
| |
|
|
サイズ
名前 | 意味 | 入力で呼び出される関数 |
---|---|---|
|
| |
| value はスカラーまたは空でなければならない。 | |
| value はベクトルでなければならない。 |
メンバーシップおよび範囲
名前 | 意味 | 入力で呼び出される関数 |
---|---|---|
|
| |
| value は範囲内になければならない。 |
テキスト
名前 | 意味 | 入力で呼び出される関数 |
---|---|---|
|
| |
| path はフォルダーを参照しなければならない。 | |
|
| 該当なし |
|
| 該当なし |
|
| 該当なし |
| varname は有効な変数名でなければならない。 |
検証関数の定義
検証関数は、関数またはプロパティに入力する値の要件をチェックする MATLAB 関数です。検証関数は、エラーをスローするタイミングと、どのエラー メッセージを表示するかを決定します。
検証に使用される関数は、以下の設計要素をもちます。
検証関数は、出力を返したり、プログラムの状態を変更したりしません。その唯一の目的は入力値の有効性をチェックすることです。
検証関数は、検証対象の値を引数として受け入れなければなりません。関数が複数の引数を受け入れる場合、最初の入力が検証対象の値です。
検証関数は入力のみを対象にします。その他の値は関数で使用できません。
検証関数は検証に失敗した場合にエラーをスローします。
throwAsCaller
を使用して例外をスローすると、表示されるエラー メッセージに検証関数自体が表示されなくなります。
MATLAB 検証関数を使用して実行できない特定の検証を行う場合、独自の検証関数を作成すると便利です。検証関数は、ローカル関数として関数ファイル内に作成するか、MATLAB パス上に配置することができます。エラー メッセージの同時発生を回避するため、関数の引数の検証をユーザー定義の検証関数内で使用しないでください。
たとえば、関数 mustBeRealUpperTriangular
は、入力を実数の上三角行列に制限します。この検証関数は、関数 istriu
および isreal
を使用します。
function mustBeRealUpperTriangular(a) if ~(istriu(a) && isreal(a)) eidType = 'mustBeRealUpperTriangular:notRealUpperTriangular'; msgType = 'Input must be a real-valued, upper triangular matrix.'; throwAsCaller(MException(eidType,msgType)) end end
引数が正しい型ではない場合、関数はエラーをスローします。
a = [1 2 3+2i; 0 2 3; 0 0 1]; mustBeRealUpperTriangular(a)
Input must be a real-valued, upper triangular matrix.