Main Content

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

mustBeNumericOrLogical

値が数値またはlogical であることを検証

説明

mustBeNumericOrLogical(value)は、valueが数値と logical のいずれでもない場合にエラーをスローします。この関数は値を返しません。

mustBeNumericOrLogicalは以下の関数を呼び出して、入力が数値または logical であるかどうかを判別します。

この関数は空の値である入力引数を無視します。このため、プロパティ値または関数の引数値が空の場合、エラーはスローされません。

すべて折りたたむ

オブジェクト プロパティの値が数値または論理値であることを検証します。

a = axes; mustBeNumericOrLogical(a.Visible)
Error using mustBeNumericOrLogical (line 11) Values must be numeric or logical.

この場合、Visibleプロパティの値はcharベクトルなので、エラーが発生します。

このクラスはProp1の値を数値に制限します。

classdefMyClasspropertiesProp1{mustBeNumericOrLogical}endend

オブジェクトを作成して、プロパティに値を割り当てます。

obj = MyClass; obj.Prop1 = get(gca,'Visible');
Error setting 'Prop1' property of 'MyClass' class: Values must be numeric or logical.

プロパティに値を割り当てると、MATLAB®はプロパティに割り当てた値を使用してmustBeNumericOrLogicalを呼び出します。Prop1に割り当てられた値がcharベクトルであるため、mustBeNumericOrLogicalはエラーを発行します。

この関数は、入力引数を数値ベクトルまたは logical ベクトルに制限します。

functionr = mbNumericOrLogical(x)argumentsx(1,:) {mustBeNumericOrLogical}endp = [3 2 1]; r = polyval(p,x);end

文字ベクトルを指定してこの関数を呼び出すと、mustBeNumericOrLogicalによってエラーがスローされます。

x ='4 3 2'; r = mbNumericOrLogical(x);
Error using mbNumericOrLogical r = mbNumericOrLogical(x); ↑ Invalid input argument at position 1. Value must be numeric or logical.

入力引数

すべて折りたたむ

検証する値。スカラーまたは次のいずれかの配列として指定します。

データ型:single|double|int8|int16|int32|int64|uint8|uint16|uint32|uint64|logical
複素数のサポート:あり

ヒント

  • mustBeNumericOrLogicalは、プロパティと関数の引数の検証で使用されるように設計されています。

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2017a で導入