LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
ctmc_transient.m
1function [pi,t]=ctmc_transient(Q,pi0,t0,t1)
2% [PI,T]=CTMC_TRANSIENT(Q,PI0,T0,T1)
3
4% Copyright (c) 2012-2026, Imperial College London
5% All rights reserved.
6if nargin==2
7 t1=pi0;
8 t0=0;
9 pi0=ones(1,length(Q));pi0=pi0/sum(pi0);
10end
11if nargin==3
12 t1=t0;
13 t0=0;
14end
15[t,pi]=ode23(@ctmc_transientode,[t0,t1],pi0);
16%%[t,pi]=ode45(@ctmc_transientode,[t0,t1],pi0); % standard order 4-5
17%[t,pi]=ode113(@ctmc_transientode,[t0,t1],pi0);
18
19 function dpidt=ctmc_transientode(t,pi)
20 % DPIDT=CTMC_TRANSIENTODE(T,PI)
21
22 pi=pi(:)';
23 dpidt=pi*Q;
24 dpidt=dpidt(:);
25 end
26
27end