2 % @brief Solves first/second-order level-dependent (multi-regime) fluid queues
4 % @author LINE Development Team
8 % @brief Matrix-exponential solution of a multi-regime Markovian fluid queue.
11 % Thin LINE wrapper around SecondOrderLevelDependentFluidSolve. The
12 % generator, drift and (optionally) variance change at threshold fluid
13 % levels, yielding a piecewise-homogeneous first- or second-order (Brownian)
14 % fluid queue. Setting
the variance cells S to zero reduces
the model to
15 % first order. The returned matrix-exponential building blocks are consumed
16 % by mfq_ld_distr / mfq_ld_mean.
20 % [masses,iniF,KF,cloF,iniB,KB,cloB] = mfq_ld_solve(Q,R,S,T)
21 % [...] = mfq_ld_solve(Q,R,S,T,boundaryL,boundaryU,Qt,prec)
26 % <tr><th>Name<th>Description
27 % <tr><td>Q<td>Cell of (N,N) generators, one per regime
28 % <tr><td>R<td>Cell of (N,N) diagonal drift-rate matrices per regime
29 % <tr><td>S<td>Cell of (N,N) diagonal variance matrices per regime (0 = first order)
30 % <tr><td>T<td>Vector of regime thresholds (length K)
31 % <tr><td>boundaryL/U<td>(Optional) per-state boundary flag (0 reflective, 1 absorbing)
32 % <tr><td>Qt<td>(Optional) cell of boundary generators
33 % <tr><td>prec<td>(Optional) numerical precision (default 1e-14)
37 % masses (K+1 point-mass vectors) and per-regime forward/backward
38 % matrix-exponential parameters iniF,KF,cloF,iniB,KB,cloB.
40function varargout = mfq_ld_solve(varargin)
41[varargout{1:nargout}] = SecondOrderLevelDependentFluidSolve(varargin{:});