MATLAB ヘルプ センター
値が正であることを検証
mustBePositive(value)
mustBePositive(value) は、value が正でない場合にエラーをスローします。値が正となるのは、値が実数の数値で、0 より大きい場合です。この関数は値を返しません。
value
mustBePositive は以下の関数を呼び出して、入力が正でないかどうかを判別します。
mustBePositive
isreal
isnumeric または islogical
isnumeric
islogical
gt
クラス サポート: すべての数値クラス、logical、および mustBePositive によって呼び出される関数をオーバーロードする MATLAB® クラス。
logical
この関数は空の値である入力引数を無視します。このため、プロパティ値または関数の引数値が空の場合、エラーはスローされません。
例
すべて折りたたむ
mustBePositive を使用して、入力に正の値のみが含まれていることを検証します。
関数 rand は一様分布する乱数を作成します。
rand
A = rand(1,5) -0.5;
配列の要素が正であることを検証します。
mustBePositive(A)
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 (line 4) r = mbPositive(A,ix); ^^ Invalid argument at position 2. Value must be positive.
検証する値。スカラーまたは次のいずれかの配列として指定します。
logical または数値クラス
gt、isreal および isnumeric と islogical のいずれか一方を実装する MATLAB クラス
mustBePositive は、プロパティと関数の引数の検証で使用されるように設計されています。
すべて展開する
mustBePositive 関数は、GPU 配列を完全にサポートします。GPU 上で関数を実行するには、入力データを gpuArray (Parallel Computing Toolbox) として指定します。詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
gpuArray
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
R2017a で導入
arguments | mustBeNumericOrLogical | mustBeReal | mustBeNonnegative | mustBeNonzero
arguments
mustBeNumericOrLogical
mustBeReal
mustBeNonnegative
mustBeNonzero
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ