LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
getTranCdfRespT.m
1function RD = getTranCdfRespT(self, R)
2% RD = GETTRANCDFRESPT(R)
3
4if GlobalConstants.DummyMode
5 RD = NaN;
6 return
7end
8
9sn = self.getStruct;
10
11if nargin<2 %~exist('R','var')
12 R = getAvgRespTHandles(self);
13end
14RD = cell(sn.nstations, sn.nclasses);
15cdfmodel = self.model.copy;
16cdfmodel.resetNetwork;
17cdfmodel.reset;
18isNodeClassLogged = false(cdfmodel.getNumberOfNodes, cdfmodel.getNumberOfClasses);
19for i= 1:cdfmodel.getNumberOfStations
20 for r=1:cdfmodel.getNumberOfClasses
21 if ~R{i,r}.disabled
22 ni = self.model.getNodeIndex(cdfmodel.getStationNames{i});
23 isNodeClassLogged(ni,r) = true;
24 end
25 end
26end
27Plinked = sn.rtorig;
28isNodeLogged = max(isNodeClassLogged,[],2);
29logpath = lineTempDir;
30cdfmodel.linkAndLog(Plinked, isNodeLogged, logpath);
31cdfOptions = self.getOptions;
32cdfOptions.lang = 'matlab'; % CDF computation requires log files from native JMT
33SolverJMT(cdfmodel, cdfOptions).getAvg(); % log data
34logData = SolverJMT.parseLogs(cdfmodel, isNodeLogged, MetricType.toText(MetricType.RespT));
35% from here convert from nodes in logData to stations
36for i= 1:cdfmodel.getNumberOfStations
37 ni = cdfmodel.getNodeIndex(cdfmodel.getStationNames{i});
38 for r=1:cdfmodel.getNumberOfClasses
39 if isNodeClassLogged(ni,r)
40 if ~isempty(logData{ni,r})
41 [F,X] = ecdf(logData{ni,r}.RespT);
42 RD{i,r} = [F,X];
43 end
44 end
45 end
46end
47end
Definition mmt.m:93