Main Content

mustBeNegative

値が負であることを検証

説明

mustBeNegative(value) は、value が負でない場合にエラーをスローします。値が負となるのは、値が 0 より小さい場合です。この関数は値を返しません。

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

クラス サポート: すべての数値クラス、logical、および mustBeNegative によって呼び出される関数をオーバーロードする MATLAB® クラス。

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

すべて折りたたむ

mustBeNegative を使用して、入力に負の値しか含まれていないことを検証します。

関数 rand は、区間 (0,1) で一様分布する乱数を作成します。減算後に配列をテストして、すべての値が負であることを検証します。該当しない場合、mustBeNegative はエラーを発行します。

A = rand(1,5) - 0.75;
mustBeNegative(A)
Value must be negative.

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

classdef MyClass
   properties
      Prop1 {mustBeNegative}
   end
end

オブジェクトを作成し、Prop1 に値を割り当てます。

obj = MyClass;
obj.Prop1 = rand(1,5) - 0.75;
Error setting property 'Prop1' of class 'MyClass'. Value must be negative.

プロパティに値を割り当てると、MATLAB はプロパティに割り当てた値を使用して mustBeNegative を呼び出します。配列のいずれかの要素が負でない場合、mustBeNegative はエラーを発行します。

この関数は、2 つの入力引数を宣言します。入力 lower は負でなければならず、入力 upper は負にすることはできません。

function r = mbNegative(lower,upper)
    arguments
        lower {mustBeNegative}
        upper {mustBeNonnegative}
    end
    x = lower*pi:upper*pi;
    r = sin(x);
end

mustBeNegative の要件を満たさない lower の値を指定して関数を呼び出すと、エラーになります。

mbNegative(0,4)
Error using mbNegative
 mbNegative(0,4)
            ↑
Invalid input argument at position 1. Value must be negative.

入力引数

すべて折りたたむ

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

ヒント

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

拡張機能

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

バージョン履歴

R2017a で導入