설명
플립 연산자를 사용할 때 예상대로 작동하는지 확인하는 테스트 VI 키워드와 VI 함수를 사용합니다. 예상되는 동작이 일치합니다. 모델 설명에서 방정식이 바뀔 때 메가 슬롯가 MCP에 대해 수행하는 작업입니다. 기고자: Steve Dirkse, 2023년 12월
소형 모델 유형 :메가 슬롯
카테고리 : 메가 슬롯 테스트 라이브러리
메인 파일 : emp34.gms
$title 'JAMS: VI를 사용한 뒤집기 기능 테스트' (EMP34, SEQ=947)
$onText
반전 연산자를 사용할 때 예상대로 작동하는지 확인하는 테스트
VI 키워드와 VI 함수를 사용합니다. 예상되는 동작이 일치합니다.
모델 설명에서 방정식이 바뀔 때 메가 슬롯가 MCP에 대해 수행하는 작업입니다.
기고자: Steve Dirkse, 2023년 12월
$offText
스칼라 xL;
xL = exp(log(2.0) / 1.1);
변수 x '1.5 <= x < INF' / LO 1.5 / ;
방정식
f 'x^1.1 >= 2'
fNeg 'f 곱하기 -1';
f.. x**1.1 =G= 2;
fNeg.. - x**1.1 =L= -2;
모델 m1 / f /;
모델 m2 / fNeg /;
파일 empinfo / '%emp.info%' /;
putclose empinfo 'vi f x';
emp를 사용하여 m1을 해결합니다.
abort$[m1.modelstat > 2] '잘못된 모델 상태', m1.modelstat;
abort$[abs(x.L - xL ) > 1e-6] '예상 x.L == xL', x.L, xL;
abort$[f.lo <> 2.0] '예상 f.lo == 2', f.lo;
abort$[abs(f.L - 2.0) > 1e-6] '예상 f.L == 2', f.L;
abort$[f.up <> inf] 'f.up이 예상됨 == inf', f.up;
abort$[abs(f.m - x.L) > 1e-6] '예상 f.m == x.L', f.m, x.L;
putclose empinfo 'vi -fNeg x';
emp를 사용하여 m2를 해결합니다.
abort$[m2.modelstat > 2] '잘못된 모델 상태', m2.modelstat;
abort$[abs(x.L - xL ) > 1e-6] '예상 x.L == xL', x.L, xL;
abort$[fNeg.up <> -2.0] '예상되는 fNeg.up == -2', fNeg.up;
abort$[abs(fNeg.L + 2.0) > 1e-6] 'fNeg.L == -2가 예상됨', fNeg.L;
abort$[fNeg.lo <> -inf] '예상되는 fNeg.lo == -inf', fNeg.lo;
abort$[abs(fNeg.m - x.L) > 1e-6] '예상되는 fNeg.m == x.L', fNeg.m, x.L;