mustBeFinite
値が有限であることを検証
説明
例
値が NaN と Inf のいずれでもないことを検証
mustBeFinite
を使用して、配列のすべての要素が NaN
と Inf
のいずれでもないことを検証します。
d = 0:9; A = 1./d; mustBeFinite(A)
Value must be finite.
d
で除算すると、1 つの要素が Inf
になり、エラーが発生します。
プロパティを有限値に制限
このクラスは Prop1
の値を有限値に制限します。
classdef MyClass properties Prop1 {mustBeFinite} end end
オブジェクトを作成して、プロパティに値を割り当てます。
d = 0:9; obj = MyClass; obj.Prop1 = 1./d;
Error setting property 'Prop1' of class 'MyClass'. Value must be finite.
プロパティに値を割り当てると、MATLAB はプロパティに割り当てた値を使用して mustBeFinite
を呼び出します。0
で除算した結果は Inf
になるため、mustBeFinite
はエラーを発行します。
関数の引数を有限値に制限
この関数は、入力引数が Inf
または NaN
の要素を含まない double のベクトルでなければならないことを宣言します。
function s = mbFinite(x) arguments x (1,:) double {mustBeFinite} end n = length(x); m = sum(x)/n; s = sqrt(sum((x-m).^2/n)); end
mustBeFinite
の要件を満たさない入力を指定して関数を呼び出すと、エラーになります。
values = [12.7, 45.4, 98.9, Inf, 53.1]; s = mbFinite(values);
Error using mbFinite s = mbFinite(values); ↑ Invalid input argument at position 1. Value must be finite.
入力引数
ヒント
mustBeFinite
は、プロパティと関数の引数の検証で使用されるように設計されています。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2017a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)