이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

matlab.unittest.constraints.NumericComparator 클래스

패키지: matlab.unittest.constraints

숫자 데이터형의 비교 연산자

생성

NumericComparator는 숫자 데이터형의 비교 연산자를 만듭니다. 이 비교 연산자는 입력값 클래스의 크기가 동일하고, 실수/복소수 여부 및 희소성이 동일하며, 내장 isequaln 함수가 true를 반환하는 경우 충족됩니다.

NumericComparator('Within',tolObj)는 지정된 허용오차를 사용하여 비교 연산자를 만듭니다. 이 경우 NumericComparator가 실제 값과 예상 값을 비교하여 클래스, 크기 및 희소성이 동일한지 먼저 확인합니다. 이러한 확인이 실패하는 경우 이 비교 연산자는 충족되지 않습니다. 이러한 확인이 통과되고 isequaln 또는 실수/복소수 여부 확인에 실패하는 경우 NumericComparator는 제공된 허용오차 tolObj와 비교합니다.

입력 인수

tolObj

matlab.unittest.constraints.Tolerance 인스턴스

속성

Tolerance

비교 연산자를 생성할 때 사용되는 특정 허용오차로, tolObj 입력 인수의 Tolerance 객체로 지정됩니다.

복사 의미 체계

값입니다. 값 클래스가 복사 작업에 미치는 영향에 대한 내용은 객체 복사 항목을 참조하십시오.

예제

모두 축소

대화형 방식 테스트를 위한 테스트 케이스를 생성합니다.

import matlab.unittest.TestCase
import matlab.unittest.constraints.NumericComparator
import matlab.unittest.constraints.IsEqualTo

testCase = TestCase.forInteractiveUse;

숫자형 비교 연산자를 사용하여 1.6181.618과 같은지 테스트합니다.

testCase.verifyThat(1.618, IsEqualTo(1.618,...
    'Using', NumericComparator))
Verification passed.

(1+sqrt(5))/21.618과 같은지 확인합니다.

testCase.verifyThat((1+sqrt(5))/2, IsEqualTo(1.618, ...
    'Using', NumericComparator))
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    IsEqualTo failed.
    --> NumericComparator failed.
        --> The numeric values are not equal using "isequaln".
        --> Failure table:
                     Actual         Expected           Error               RelativeError    
                ________________    ________    ____________________    ____________________
                1.61803398874989     1.618      3.39887498947977e-05    2.10066439399244e-05
        
        Actual Value:
           1.618033988749895
        Expected Value:
           1.618000000000000

상대 허용오차 0.25%를 사용하여 다시 테스트합니다.

import matlab.unittest.constraints.RelativeTolerance

testCase.verifyThat((1+sqrt(5))/2, IsEqualTo(1.618, ...
    'Using', NumericComparator('Within', RelativeTolerance(0.0025))))
Verification passed.

R2013a에 개발됨