LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
StatefulNode.m
1classdef StatefulNode < Node
2 % An abstract class for nodes that under some
3 % parametrizations can be stateful
4 %
5 % Copyright (c) 2012-2026, Imperial College London
6 % All rights reserved.
7
8 properties
9 state;
10 statePrior;
11 space;
12 end
13
14 methods(Hidden)
15 %Constructor
16 function self = StatefulNode(name)
17 % SELF = STATEFULNODE(NAME)
18 self@Node(name);
19 self.statePrior = [];
20 self.state = [];
21 self.space = {};
22 end
23
24 function prior = getStatePrior(self)
25 % PRIOR = GETSTATEPRIOR()
26 % prior(j) = probability that the initial state is state(j)
27 prior = self.statePrior;
28 end
29
30 function self = setStatePrior(self, prior)
31 % SELF = SETSTATEPRIOR(PRIOR)
32 % the prior is marginalized on the station state and thus
33 % assumed independent of the priors for other stations
34 self.statePrior = prior(:); % we do not normalize to allow the user to manually run a model for each point of an external prior
35 if size(self.statePrior,1) ~= size(self.space,1)
36 line_error(mfilename,'The prior probability vector must have the same rows of the station state space.');
37 end
38 end
39
40 function self = setState(self, state)
41 % SELF = SETSTATE(STATE)
42 % state can be stacked in a matrix of states, a state space
43 self.state = state;
44 end
45
46 function state = getState(self)
47 % STATE = GETSTATE()
48 state = self.state;
49 end
50
51 function state = getStateSpace(self)
52 % STATE = GETSTATESPACE()
53 state = self.space;
54 end
55
56 function self = setStateSpace(self, space)
57 % SELF = SETSTATESPACE(SPACE)
58 self.space = space;
59 % mState.getHash = memoize(@(x) self.State.getHash(x));
60 end
61
62 function self = resetStateSpace(self)
63 % SELF = RESETSTATESPACE()
64 self.space = {};
65 end
66
67 end
68
69
70end
Definition mmt.m:92