1function [AvgChain,QTc,UTc,RTc,WTc,ATc,TTc] = getAvgNodeChainTable(self,Q,U,R,T)
2% [AVGCHAIN,QTC,UTC,RTC,WTC,ATC,TTC] = GETAVGCHAINNODETABLE(SELF,Q,U,R,T)
4% Copyright (c) 2012-2026, Imperial College London
7if GlobalConstants.DummyMode
8 [AvgChain, QTc, UTc, RTc, TTc, WTc] = deal(Table());
9 AvgChain = IndexedTable(AvgChain);
13sn = self.model.getStruct;
17 [Q,U,R,T] = getAvgHandles(self);
19if nargin == 2 && iscell(Q)
21 [Q, U, R, T] = deal(Q{:});
23 [Q, U, R, T] = getAvgHandles(self);
27[QNc,UNc,RNc,WNc,ANc,TNc] = self.getAvgNodeChain(Q,U,R,T);
29ChainObj = self.model.getChains();
30ChainName = cellfun(@(c) c.name,ChainObj,
'UniformOutput',
false);
31ChainClasses = cell(1,length(ChainName));
32for c=1:length(ChainName)
33 ChainClasses{c} = ChainObj{c}.classnames;
36 [AvgChain, QTc, UTc, RTc, TTc] = deal(Table());
37 AvgChain = IndexedTable(AvgChain);
39 [Qval, Uval, Rval, Tval, Resval, Aval] = deal(zeros(I, C));
40 [Chain, JobClasses, Node] = deal(cell(C*I, 1));
44 Chain{idx} = ChainName{c};
45 JobClasses{idx} = label(ChainClasses{c}(:));
46 Node{idx} = sn.nodenames{ind};
47 Qval(idx) = QNc(ind, c);
48 Uval(idx) = UNc(ind, c);
49 Rval(idx) = RNc(ind, c);
50 Aval(idx) = ANc(ind, c);
51 Tval(idx) = TNc(ind, c);
52 Resval(idx) = WNc(ind,c);
55 [Chain, Node] = deal(label(Chain), label(Node));
56 QTc = table(Node, Chain, JobClasses, Qval(:),
'VariableNames', {
'Node',
'Chain',
'JobClasses',
'QLen'});
57 UTc = table(Node, Chain, JobClasses, Uval(:),
'VariableNames', {
'Node',
'Chain',
'JobClasses',
'Util'});
58 RTc = table(Node, Chain, JobClasses, Rval(:),
'VariableNames', {
'Node',
'Chain',
'JobClasses',
'RespT'});
59 WTc = table(Node, Chain, JobClasses, Resval(:),
'VariableNames', {
'Node',
'Chain',
'JobClasses',
'ResidT'});
60 TTc = table(Node, Chain, JobClasses, Tval(:),
'VariableNames', {
'Node',
'Chain',
'JobClasses',
'Tput'});
61 ATc = table(Node, Chain, JobClasses, Aval(:),
'VariableNames', {
'Node',
'Chain',
'JobClasses',
'ArvR'});
63 AvgChain = table(Node, Chain, JobClasses, Qval(:), Uval(:), Rval(:), Resval(:), Aval(:), Tval(:), ...
64 'VariableNames', {
'Node',
'Chain',
'JobClasses',
'QLen',
'Util',
'RespT',
'ResidT',
'ArvR',
'Tput'});
65 AvgChain = IndexedTable(AvgChain);