로드 중...
검색 중...
일치하는 항목 없음
special_values.m
1함수special_values(varargin)
2
3% 인수에서 작업공간 정보 확인
4 if나긴 > 0
5wsInfo = 무료 슬롯control.WorkspaceInfo();
6wsInfo.systemDirectory = varargin1;
7ws = 무료 슬롯control.Workspace(wsInfo);
8 그밖에
9ws = 무료 슬롯control.Workspace();
10
11
12모델 =
13 '스칼라 GUndef'
14 ' GNA / NA / '
15 ' GPInf / +Inf / '
16 ' GMInf / -Inf / '
17 ' GEps /eps / '
18 ' matlabUndef '
19 ' matlabNA '
20 ' matlabPInf '
21 ' matlabMInf '
22 ' matlabEps ; '
23 ' '
24 '$onUndf '
25 '$gdxIn %gdxincname% '
26 '$load matlabUndef matlabNA matlabPInf matlabMInf matlabEps '
27 '$gdxIn '
28 ' '
29 'GUndef = 1/0; '
30 'ExecError = 0; '
31 ' '
32 'abort$(GUndef <> matlabUndef) ''matlabUndef가 예상과 다릅니다'', GUndef, matlabUndef;'
33 '중단$(GNA <> matlabNA ) ''matlabNA가 예상한 것과 다릅니다'', GNA, matlabNA; '
34 'abort$(GPInf <> matlabPInf ) ''matlabPInf가 예상과 다릅니다'', GPInf, matlabPInf; '
35 'abort$(GMInf <> matlabMInf ) ''matlabMInf가 예상과 다릅니다'', GMInf, matlabMInf; '
36 '중단$(GEps <> matlabEps ) ''matlabEps가 예상과 다릅니다'', GEps, matlabEps '};
37모델 = 스프린트f('%s\n', 모델:);
38
39dbIn = ws.addDatabase('myDB');
40rec = dbIn.addParameter('matlabUndef', 0).addRecord();
41rec.value = 1.0E300;
42rec = dbIn.addParameter('matlabNA', 0).addRecord();
43rec.value = NaN;
44rec = dbIn.addParameter('matlabPInf', 0).addRecord();
45rec.value = Inf;
46rec = dbIn.addParameter('matlabMInf', 0).addRecord();
47rec.value = -Inf;
48rec = dbIn.addParameter('matlabEps', 0).addRecord();
49rec.value = 4.94066E-324;
50
51gj = ws.addJobFromString(모델);
52opt = ws.addOptions();
53opt.defines('gdxincname', dbIn.name);
54gj.run(opt, dbIn);
55
56dbOut = gj.outDB;
57GUndef = dbOut.getParameter('GUndef').record.value;
58 ifGUndef ~= 1.0E300
59오류('GUndef가 예상과 다릅니다: %f', GUndef);
60
61GNA = dbOut.getParameter('GNA').record.value;
62 if~이스난(GNA)
63오류('GNA가 예상과 다릅니다: %f', GNA);
64
65GPInf = dbOut.getParameter('GPInf').record.value;
66 if~isinf(GPInf)
67오류('GPInf가 예상과 다릅니다: %f', GPInf);
68
69GMInf = dbOut.getParameter('GMInf').record.value;
70 if~isinf(GMInf) && GMInf < 0
71오류('GMInf가 예상과 다릅니다: %f', GMInf);
72
73GEps = dbOut.getParameter('GEps').record.value;
74 ifGEps ~= 4.94066E-324
75error('GEps가 예상과 다릅니다: %f', GEps);
76
77
78% 옵션 및 데이터베이스 지우기
79opt.dispose();
80gj.outDB.dispose();
81
82 % 제거작업 디렉토리
83rmdir(ws.workingDirectory,');
84
85