% This program computes the time varying probabilites
% of a Markov Process using Uniformization
% The user must specify the generator matrix Q the
% uniformization rate v, the number of state N
% the initial probability vector pi0
% the initial time value iv and the final time value fv
% the solution is placed in pit and time
% the number of terms in the uniformization sum m
time = iv;
I = eye(N);
P = 1/v*Q + I;
e = ones(N,1);
ss = .1;
iv1 = iv + ss;
pit = pi0;
pimc = pi0;
pitemp = pi0;
for k = 1:m;
foo = pitemp*P;
pimc = [pimc
foo];
pitemp = foo;
end
for t=iv1:ss:fv
sum = zeros(1, N);
for k = 0:m;
temp = pimc(k+1,1:N)*poisspdf(k, v*t);
sum = sum +temp;
end
pit = [pit,
sum];
time = [time
t];
end