Main Content

mustBeLessThan

値が別の値より小さいことを検証

説明

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

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

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

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

すべて折りたたむ

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

mustBeLessThan([2 3 4],2)
Value must be less than 2.

プロパティ値を指定値より小さくなるように制限します。

このクラスは、Prop1 の値が 2 より小さくなるよう制約します。

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

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

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

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

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

function r = mbLessThan(x)
    arguments
        x {mustBeLessThan(x,5)}
    end
    r = x + 5;
end

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

x = [1.27, 4.54, 3.9, 5.0, .531];
r = mbLessThan(x);
Error using mbLessThan
 r = mbLessThan(x);
                ↑
Invalid input argument at position 1. Value must be less than 5.

入力引数

すべて折りたたむ

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

mustBeLessThan をプロパティ検証として使用する場合、この引数は引用符なしのプロパティ名でなければなりません。

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

ヒント

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

拡張機能

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

バージョン履歴

R2017a で導入