ヘルプ センターヘルプ センター
値が正であることを検証
mustBePositive(value)
例
mustBePositive(value) は、value が正でない場合にエラーをスローします。値が正となるのは、値が実数の数値で、0 より大きい場合です。この関数は値を返しません。
value
mustBePositive は以下の関数を呼び出して、入力が正でないかどうかを判別します。
mustBePositive
gt
isreal
isnumeric または islogical
isnumeric
islogical
クラス サポート: すべての数値クラス、logical、および mustBePositive によって呼び出される関数をオーバーロードする MATLAB® クラス。
logical
この関数は空の値である入力引数を無視します。このため、プロパティ値または関数の引数値が空の場合、エラーはスローされません。
すべて折りたたむ
mustBePositive を使用して、入力に正の値のみが含まれていることを検証します。
関数 rand は一様分布する乱数を作成します。
rand
A = rand(1,5) -0.5;
配列の要素が正であることを検証します。
mustBePositive(A)
Error using mustBePositive Value must be positive.
rand により返された配列から 0.5 を減算した結果には負の数値が含まれる場合があります。値が負の場合、mustBePositive はエラーを発行します。
0.5
このクラスは、Prop1 の値を正の値に制限します。
Prop1
classdef MyClass properties Prop1 {mustBePositive} end end
オブジェクトを作成して、プロパティに値を割り当てます。
obj = MyClass; obj.Prop1 = 0;
Error setting property 'Prop1' of class 'MyClass': Value must be positive.
プロパティに値を割り当てると、MATLAB はプロパティに割り当てた値を使用して mustBePositive を呼び出します。値 0 は正ではないため、mustBePositive はエラーを発行します。
0
この関数は、2 つの入力引数を宣言します。入力 A は数値ベクトルでなければなりません。入力 ix は正の整数でなければなりません。
A
ix
function r = mbPositive(A,ix) arguments A (1,:) {mustBeNumeric} ix {mustBePositive, mustBeInteger} end r = A(ix); end
mustBePositive の要件を満たさない ix の値を指定して関数を呼び出すと、エラーになります。
A = 1:10; ix = 0; r = mbPositive(A,ix);
Error using mbPositive r = mbPositive(A,ix) ↑ Invalid input argument at position 2. Value must be positive.
検証する値。スカラーまたは次のいずれかの配列として指定します。
logical または数値クラス
gt、isreal および isnumeric と islogical のいずれか一方を実装する MATLAB クラス
mustBePositive は、プロパティと関数の引数の検証で使用されるように設計されています。
この関数は GPU 配列を完全にサポートしています。詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
R2017a で導入
mustBeNonnegative | mustBeNonzero | arguments
mustBeNonnegative
mustBeNonzero
arguments
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office