LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
StatefulClassSwitcher.m
1classdef StatefulClassSwitcher < ClassSwitcher
2 % An abstract class for a state-dependent class switch
3 %
4 % Copyright (c) 2012-2026, Imperial College London
5 % All rights reserved.
6
7 methods
8 %Constructor
9 function self = StatefulClassSwitcher(classes, name)
10 % SELF = STATEFULCLASSSWITCHER(CLASSES, NAME)
11
12 self@ClassSwitcher(classes, name);
13 self.csFun = @(r, s, state, statep) StatefulClassSwitcher.classHolderFun(r, s, state, statep); % do nothing by default
14 end
15 end
16
17 methods (Static)
18 function prob = classHolderFun(r, s, state, statep)
19 % PROB = CLASSHOLDERFUN(R, S, STATE, STATEP)
20
21 if ~isempty(state)
22 % probability of switching from r to s given state
23 if r == s
24 prob = 1;
25 else
26 prob = 0;
27 end
28 else % if state == [] then return 1 if r->s is feasible
29 if r == s
30 prob = 1;
31 else
32 prob = 0;
33 end
34 end
35 end
36 end
37end