最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

mustBeNonzero

値が非ゼロであることを検証し、そうでない場合はエラーを発行

説明

mustBeNonzero(value) は、value が 0 である場合にエラーを発行します。この関数は値を返しません。

オブジェクトのクラスが次のメソッドを実装する場合、mustBeNonzero はユーザー定義オブジェクトを受け入れます。

すべて折りたたむ

mustBeNonzero を使用して、入力にゼロ値が含まれていないことを検証します。

A は、次の計算の結果得られる数値の配列です。

A = sin([-1,0,1]);
msutBeNonzero(A)
Error using mustBeNonzero (line 14)
Value must not be zero.

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

classdef MyClass
   properties
      Prop1 {mustBeNonzero}
   end
end

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

obj = MyClass;
obj.Prop1 = sin([-1,0,1]);
Error setting property 'Prop1' of class 'MyClass':
Value must not be zero.

プロパティに値を割り当てると、MATLAB® はプロパティに割り当てた値を使用して mustBeNonzero を呼び出します。A の 1 つの値が 0 であるため、mustBeNonzero はエラーを発行します。

この関数は、2 つの入力引数を宣言します。入力 A は数値ベクトルでなければならず、入力 offset はゼロと等しくないスカラーでなければなりません。

function r = mbNonzero(A,offset)
    arguments
        A {mustBeNumeric}
        offset (1,1) {mustBeNonzero}
    end
    r = A + offset;
end

offset にゼロと等しい値を指定して関数を呼び出すと、mustBeNonzero の要件が満たされず、エラーになります。

A = [12.7, 45.4, 98.9, 77.1, 53.1];
r = mbNonzero(A,0);
Error using mbNonzero
Invalid input argument at position 2. Value must not be zero.

入力引数

すべて折りたたむ

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

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
複素数のサポート: あり

拡張機能

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

R2017a で導入