主要内容

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

引数の検証関数

MATLABは引数の検証に使用する関数を定義します。これらの関数は,検証のための一般的な使用パターンをサポートし,説明的なエラーメッセージを提供します。以下の表で,MATLAB®検証関数を分類し,その使用方法を説明しています。

数値属性

名前

意味

入力で呼び出される関数

mustBePositive(值)

值> 0

gt伊斯雷尔isnumericislogical

mustBeNonpositive(值)

值< = 0

通用电气伊斯雷尔isnumericislogical

mustBeNonnegative(值)

值> = 0

通用电气伊斯雷尔isnumericislogical

mustBeNegative(值)

值< 0

lt伊斯雷尔isnumericislogical

mustBeFinite(值)

价值には,要素も要素もない。

isfinite

mustBeNonNan(值)

价值には要素がない。

isnan

mustBeNonzero(值)

值~ = 0

情商isnumericislogical

mustBeNonsparse(值)

价值にはスパース要素がない。

issparse

mustBeReal(值)

价值には虚数部がない。

伊斯雷尔

mustBeInteger(值)

值= =地板(值)

伊斯雷尔isfinite地板上isnumericislogical

mustBeNonmissing(值)

价值は欠損値を含むことができない。

ismissing

他の値との比較

名前

意味

入力で呼び出される関数

mustBeGreaterThan(价值,c)

c值>

gtisscalar伊斯雷尔isnumericislogical

mustBeLessThan(价值,c)

值< c

lt伊斯雷尔isnumericislogical

mustBeGreaterThanOrEqual(价值,c)

值> = c

通用电气伊斯雷尔isnumericislogical

mustBeLessThanOrEqual(价值,c)

值< = c

伊斯雷尔isnumericislogical

データ型

名前

意味

入力で呼び出される関数

mustBeA(价值,类名)

价值は特定のクラスでなければならない。

クラス定義の関係を使用

mustBeNumeric(值)

价值は数値でなければならない。

isnumeric

mustBeNumericOrLogical(值)

价值は数値または逻辑でなければならない。

isnumericislogical

mustBeFloat(值)

价值は浮動小数点配列でなければならない。

isfloat

mustBeUnderlyingType(typename价值)

价值には,基となる型が指定されていなければならない。

isUnderlyingType

サイズ

名前

意味

入力で呼び出される関数

mustBeNonempty(值)

价值は空ではない。

isempty

mustBeScalarOrEmpty(值) 价值はスカラーまたは空でなければならない。

isscalarisempty

mustBeVector(值) 价值はベクトルでなければならない。

isvector

メンバーシップおよび範囲

名前

意味

入力で呼び出される関数

mustBeMember(价值)

价值年代のメンバーの完全一致である。

ismember

mustBeInRange(价值低,上部,boundflags) 价值は範囲内になければならない。

gt通用电气lt

テキスト

名前

意味

入力で呼び出される関数

mustBeFile(路径)

路径はファイルを参照しなければならない。

isfile

mustBeFolder(文件夹) 路径はフォルダーを参照しなければならない。

isfolder

mustBeNonzeroLengthText(值)

价值は非ゼロ長のひとまとまりのテキストでなければならない。

該当なし

mustBeText(值)

价值は字符串配列,文字ベクトル,または文字ベクトルの细胞配列でなければならない。

該当なし

mustBeTextScalar(值)

价值はひとまとまりのテキストでなければならない。

該当なし
mustBeValidVariableName(varname) varnameは有効な変数名でなければならない。

isvarname

検証関数の定義

検証関数は,関数またはプロパティに入力する値の要件をチェックするMATLAB関数です。検証関数は,エラーをスローするタイミングと,どのエラーメッセージを表示するかを決定します。

検証に使用される関数は,以下の設計要素をもちます。

  • 検証関数は,出力を返したり,プログラムの状態を変更したりしません。その唯一の目的は入力値の有効性をチェックすることです。

  • 検証関数は,検証対象の値を入力引数として受け入れなければなりません。関数が複数の入力引数を受け入れる場合,最初の入力が検証対象の値です。

  • 検証関数は入力のみを対象にします。その他の値は関数で使用できません。

  • 検証関数は検証に失敗した場合にエラーをスローします。throwAsCallerを使用して例外をスローすると,表示されるエラーメッセージに検証関数自体が表示されなくなります。

MATLAB検証関数を使用して実行できない特定の検証を行う場合,独自の検証関数を作成すると便利です。検証関数は,ローカル関数として関数ファイル内に作成するか,MATLABパス上に配置することができます。エラーメッセージの同時発生を回避するため,関数の引数の検証をユーザー定義の検証関数内で使用しないでください。

たとえば,関数mustBeRealUpperTriangularは,入力を実数の上三角行列に制限します。この検証関数は,関数istriuおよび伊斯雷尔を使用します。

函数mustBeRealUpperTriangular (a)如果~(istriu(a) && isreal(a)) eidType =“mustBeRealUpperTriangular: notRealUpperTriangular”;msgType =输入必须是一个实值上三角矩阵;throwAsCaller (MException (eidType, msgType))结束结束

入力引数が正しい型ではない場合,関数はエラーをスローします。

A = [1 2 3+2i;0 2 3;0 0 1);mustBeRealUpperTriangular (a)
输入必须是实值的上三角矩阵。

関連するトピック