Main Content

mustBeGreaterThan

値が別の値より大きいことを検証

説明

mustBeGreaterThan(value,c) は、value のいずれかの要素がスカラー c 以下である場合に、エラーをスローします。この関数は値を返しません。

mustBeGreaterThan は以下の関数を呼び出して、valuec より大きいかどうかを判別します。

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

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

すべて折りたたむ

mustBeGreaterThan を使用して、1 番目の入力の値が 2 番目の入力の値より大きいことを検証します。

mustBeGreaterThan([2 3 4],2)
Value must be greater than 2.

このクラスは Prop1 の値を 2 より大きくなるように制限します。

classdef MyClass
   properties
      Prop1 {mustBeGreaterThan(Prop1,2)}
   end
end

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

obj = MyClass;
Obj.Prop1 = 2;
Error setting property 'Prop1' of class 'MyClass'. Value must be greater than 2.

プロパティに値を割り当てると、MATLAB はプロパティに割り当てた値を使用して mustBeGreaterThan を呼び出します。値 22 より大きくないため、mustBeGreaterThan はエラーを発行します。

この関数は、入力引数を 5 より大きい値に制限します。

function r = mbGreaterThan(x)
    arguments
        x {mustBeGreaterThan(x,5)}
    end
    r = x - 5;
end

5 以下の値を含むベクトルを指定して関数を呼び出すと、mustBeGreaterThan で定義された要件が満たされず、エラーになります。

x = [12.7, 45.4, 5.0, 77.1, 53.1];
r = mbGreaterThan(x);
Error using mbGreaterThan
 r = mbGreaterThan(x);
                   ↑
Invalid input argument at position 1. Value must be greater than 5.

入力引数

すべて折りたたむ

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

引数 value がそれより大きくなければならない定数値。次のいずれかのスカラーとして指定します。

ヒント

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

拡張機能

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

バージョン履歴

R2017a で導入