Main Content

matlab.unittest.constraints.IsFinite クラス

名前空間: matlab.unittest.constraints
スーパークラス: matlab.unittest.constraints.BooleanConstraint

配列要素が有限値であるかどうかをテスト

説明

matlab.unittest.constraints.IsFinite クラスは、配列の要素が有限値であるかどうかをテストするための制約を提供します。

作成

説明

c = matlab.unittest.constraints.IsFinite は、配列のすべての要素が有限値であるかどうかをテストするための制約を作成します。この制約は、無限値または NaN 値を含まない数値配列で満たされます。

すべて折りたたむ

IsFinite 制約を使用して、数値配列をテストします。

最初に、この例で使用するクラスをインポートします。

import matlab.unittest.TestCase
import matlab.unittest.constraints.IsFinite

対話型テスト用にテスト ケースを作成します。

testCase = TestCase.forInteractiveUse;

5 が有限であることを検証します。

testCase.verifyThat(5,IsFinite)
Verification passed.

ベクトル [1 1 2 3 5 8 13]IsFinite 制約を満たすかどうかをテストします。すべてのベクトル要素が有限であるため、テストはパスします。

testCase.verifyThat([1 1 2 3 5 8 13],IsFinite)
Verification passed.

[-Inf 5 NaN] をテストします。ベクトルに無限値と NaN 値が含まれているため、テストは失敗します。

testCase.verifyThat([-Inf 5 NaN],IsFinite)
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    IsFinite failed.
    --> All elements must be finite-valued.
        Failing indices:
            [1 3]
    
    Actual Value:
      -Inf     5   NaN

虚数部が無限である複素数が制約を満たすかどうかをテストします。テストは失敗します。

testCase.verifyThat(3+1i/0,IsFinite)
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    IsFinite failed.
    --> The value must be finite.
    
    Actual Value:
      3.000000000000000 +               Infi

行列 [1 NaN; -Inf 3] が有限でないことを検証します。

testCase.verifyThat([1 NaN; -Inf 3],~IsFinite)
Verification passed.

バージョン履歴

R2013a で導入