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[t,pi]=lsoda_accurate_stiff(@ctmc_transientode,[t0,t1],pi0);
19
20 function dpidt=ctmc_transientode(t,pi)
21 % DPIDT=CTMC_TRANSIENTODE(T,PI)
22
23 pi=pi(:)';
24 dpidt=pi*Q;
25 dpidt=dpidt(:);
26 end
27
28end