Main Content

mustBeReal

値が実数であることを検証

説明

mustBeReal(value) は、value が実数でない場合にエラーをスローします。この関数は値を返しません。

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

クラス サポート: すべての数値クラス、logical、および isreal をオーバーロードする MATLAB® クラス。

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

すべて折りたたむ

mustBeReal を使用して、入力が実数であることを検証します。

計算結果が実数であることを検証します。

x = -2:2;
z = x.^exp(-x.^2);
mustBeReal(z)
Value must be real.

z は複素数です。

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

classdef MyClass
   properties
      Prop1 {mustBeReal}
   end
end

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

x = -2:0.1:2;
obj = MyClass;
obj.Prop1 = x.^exp(-x.^2);
Error setting property 'Prop1' of class 'MyClass'. Value must be real.

プロパティに値を割り当てると、MATLAB はプロパティに割り当てた値を使用して mustBeReal を呼び出します。Prop1 に割り当てられた値が複素数であるため、mustBeReal はエラーを発行します。

この関数は、入力引数を実数値のスカラーに制限します。

function r = mbReal(z)
    arguments
        z (1,1) {mustBeReal}
    end
    r = randi(9,z);
end

複素数値を指定してこの関数を呼び出すと、mustBeReal によってエラーがスローされます。

x = -1;
z = x.^exp(-x.^2);
r = mbReal(z);
Error using mbReal (line 3)
 r = mbReal(z);
            ^
Invalid argument at position 1. Value must be real.

入力引数

すべて折りたたむ

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

他のデータ型の場合、エラーが発生します。

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

ヒント

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

拡張機能

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

バージョン履歴

R2017a で導入