1classdef Det < ContinuousDistribution & DiscreteDistribution
2 % Det Deterministic distribution with constant value
4 % Det represents a deterministic distribution that always produces the same
5 % constant value. This distribution has zero variance and
is commonly used
6 %
for modeling constant service times, fixed delays, or deterministic
7 % processing requirements in queueing systems.
9 % @brief Deterministic distribution with constant value and zero variance
11 % Key characteristics:
12 % - Single parameter: constant value t
13 % - Zero variance (SCV = 0)
14 % - Mean = Variance = t
15 % - All samples equal to t
16 % - Degenerate
case of all distributions
18 % The deterministic distribution
is used
for:
19 % - Constant service times
20 % - Fixed processing delays
21 % - Deterministic timeouts
22 % - Modeling perfectly predictable processes
23 % - Lower bound analysis in queueing systems
27 % constant_service = Det(2.5); % Always takes exactly 2.5 time units
28 % samples = constant_service.sample(100); % All samples = 2.5
31 % Copyright (c) 2012-2026, Imperial College London
32 % All rights reserved.
38 function self = Det(t)
39 % DET Create a deterministic distribution instance
41 % @brief Creates a deterministic distribution with constant value t
42 % @param t Constant value (must be non-negative for time-based processes)
43 % @return self Det distribution instance with constant value t
44 self@ContinuousDistribution('Det',1,[t,t]);
45 self@DiscreteDistribution(
'Det',1,[t,t]);
46 setParam(self, 1,
't', t);
49 function ex = getMean(self)
52 % Get distribution mean
53 ex = self.getParam(1).paramValue;
56 function SCV = getSCV(self)
59 % Get distribution squared coefficient of variation (SCV = variance / mean^2)
63 function L = evalLST(self, s)
66 % Evaluate the Laplace-Stieltjes transform of the distribution function at t
68 t = self.getParam(1).paramValue;
73 function X = sample(self, n)
76 % Get n samples from the distribution
77 X = self.getParam(1).paramValue * ones(n,1);
80 function Ft = evalCDF(self,t)
81 % FT = EVALCDF(SELF,T)
83 % Evaluate the cumulative distribution function at t
86 if t < self.getParam(1).paramValue
93 function proc = getProcess(self)
96 % Get process representation with actual distribution parameters
97 % Returns {t}
for deterministic value
98 proc = {self.getParam(1).paramValue};
103 function d = fitMean(t)