1%{ @file qbd_bmapbmap1.m
2 % @brief Computes QBD blocks
for a BMAP/BMAP/1 queue
4 % @author LINE Development Team
8 % @brief Constructs QBD blocks
for batch arrival/service queue
11 % This function computes the QBD (Quasi-Birth-Death) transition blocks
12 %
for a BMAP/BMAP/1 queue with batch arrivals and batch service.
16 % qbd_bmapbmap1(MAPa, pbatcha, MAPs)
21 % <tr><th>Name<th>Description
22 % <tr><td>MAPa<td>Arrival process (MAP)
23 % <tr><td>pbatcha<td>Probability distribution of batch sizes
24 % <tr><td>MAPs<td>Service process (MAP)
29 % <tr><th>Name<th>Description
32function qbd_bmapbmap1(MAPa, pbatcha, MAPs)
35maxbatch = length(pbatcha);
38 A1{b} = kron(MAPa{2}*pbatcha(b),eye(ns));
40A0 = krons(MAPa{1},MAPs{1});
41A_1 = kron(eye(na),MAPs{2});
42A0bar = kron(MAPa{1},eye(ns));
43B0 = krons(MAPa{1},eye(ns));
45 B1{b} = kron(MAPa{2}*pbatcha(b),eye(ns));
48% first few levels of Q matrix
50%Q=[B0,cell2mat(B1),Z,Z,Z;
51% A_1,A0,cell2mat(A1),Z,Z;
52% Z,A_1,A0,cell2mat(A1),Z;
53% Z,Z,A_1,A0,cell2mat(A1)];