Main Content

mustBeNumeric

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

説明

mustBeNumeric(value) は、value に非数値が含まれている場合にエラーをスローします。この関数は値を返しません。

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

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

すべて折りたたむ

演算の結果が数値であることを検証します。

mustBeNumeric(5 < 10)
Values must be numeric.

「より小さい」を表す関係演算子は論理値を返します。

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

classdef MyClass
   properties
      Prop1 {mustBeNumeric}
   end
end

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

obj = MyClass;
obj.Prop1 = isprime(29);
Error setting 'Prop1' property of 'MyClass' class:
Values must be numeric.

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

この関数は、入力引数を数値ベクトルに制限します。

function r = mbNumeric(x)
    arguments
        x (1,:) {mustBeNumeric}
    end
    p = [3 2 1];
    r = polyval(p,x);
end

文字ベクトルを指定してこの関数を呼び出すと、mustBeNumeric によってエラーがスローされます。

x = '4 3 2';
r = mbNumeric(x);
Error using mbNumeric
 r = mbNumeric(x);
               ↑
Invalid input argument at position 1. Value must be numeric.

入力引数

すべて折りたたむ

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

  • 任意の MATLAB 数値クラス

  • MATLAB 数値型から派生するか、isnumeric をオーバーロードする MATLAB クラス

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

ヒント

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

拡張機能

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

バージョン履歴

R2017a で導入