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 中推出