1classdef Expolynomial < ContinuousDistribution
2 % Expolynomial distribution with density f(x) = sum ci * x^ai * exp(-li*x)
4 % Represents an expolynomial density over a bounded domain [eft, lft],
5 % matching the Sirio/ORIS GEN expolynomial format.
7 % Copyright (c) 2012-2026, Imperial College London
11 function self = Expolynomial(density, eft, lft)
12 % EXPOLYNOMIAL Create an Expolynomial distribution instance
14 % @param density Density expression
string in Sirio format
15 % @param eft Earliest firing time (lower bound of support)
16 % @param lft Latest firing time (upper bound of support, can be Inf)
17 % @
return self Expolynomial distribution instance
18 self@ContinuousDistribution(
'Expolynomial', 3, [NaN, NaN, NaN]);
19 setParam(self, 1,
'density', density);
20 setParam(self, 2,
'eft', eft);
21 setParam(self, 3,
'lft', lft);
24 function ex = getMean(self)
27 % Get distribution mean (returns NaN - numerical integration not supported)
31 function SCV = getSCV(self)
34 % Get distribution SCV (returns NaN - numerical integration not supported)
38 function Ft = evalCDF(self, t)
39 % FT = EVALCDF(SELF,T)
41 % Evaluate the CDF at t (returns NaN - not supported)
45 function X = sample(self, n)
48 % Get n samples from the distribution (returns NaN - not supported)
55 function proc = getProcess(self)
58 % Get process representation
59 proc = {self.getParam(1).paramValue, self.getParam(2).paramValue, self.getParam(3).paramValue};