Main Content

mustBeNonnegative

値が非負であることを検証

説明

mustBeNonnegative(value) は、value が負である場合にエラーをスローします。この関数は値を返しません。

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

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

すべて折りたたむ

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

関数 randn は正規分布した乱数を作成します。

A = randn(1,5);

これらの乱数が非負であることを検証します。

mustBeNonnegative(A)
Value must be nonnegative.

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

classdef MyClass
   properties
      Prop1 {mustBeNonnegative}
   end
end

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

obj = MyClass;
obj.Prop1 = -10;
Error setting property 'Prop1' of class 'MyClass'. Value must be nonnegative.

プロパティに値を割り当てると、MATLAB はプロパティに割り当てた値を使用して mustBeNonnegative を呼び出します。値 -10 は負であるため、mustBeNonnegative はエラーを発行します。

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

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

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

r = mbNonnegative(-12,-4);
Error using mbNonnegative
 r = mbNonnegative(-12,-4);
                       ↑
Invalid input argument at position 2. Value must be nonnegative.

入力引数

すべて折りたたむ

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

例: value = 1 はエラーを生成しません。

ヒント

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

拡張機能

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

バージョン履歴

R2017a で導入