LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
aph_simplify.m
1function [alpha,T] = aph_simplify(a1,T1,a2,T2,p1,p2,pattern)
2 % convolve two ME distributions with parameters a1,T1,a2,T2
3 % The input variable pattern switch this function to different pattern convolution
4 % p1 and p2 are the specified branch probabilities for the third pattern (branch)
5 if pattern == 1 % sequence structure
6 Size1 = size(a1);
7 order1 = Size1(2);
8 Size2 = size(a2);
9 order2 = Size2(2);
10 e1 = ones(order1,1);
11 alpha = [a1,(1-a1*e1)*a2];
12 T = [T1,(-T1*e1)*a2;zeros(order2,order1),T2];
13
14 elseif pattern == 2 % parallel strucutre
15 Size1 = size(a1);
16 order1 = Size1(2);
17 Size2 = size(a2);
18 order2 = Size2(2);
19 e1 = ones(order1,1);
20 e2 = ones(order2,1);
21 alpha = [kron(a1,a2),(1-a2*e2)*a1,(1-a1*e1)*a2];
22 Tr1 = [kron(T1,eye(order2))+kron(eye(order1),T2),kron(eye(order1),-T2*e2),kron(-T1*e1,eye(order2))];
23 Tr2 = [zeros(order1,order1*order2),T1,zeros(order1,order2)];
24 Tr3 = [zeros(order2,order1*order2),zeros(order2,order1),T2];
25 T = [Tr1;Tr2;Tr3];
26
27 elseif pattern == 3 % branch structure
28 Size1 = size(a1);
29 order1 = Size1(2);
30 Size2 = size(a2);
31 order2 = Size2(2);
32 alpha = [p1*a1,p2*a2];
33 T = [T1,zeros(order1,order2);zeros(order2,order1),T2];
34
35 else % loop structure
36 %alpha = a1;
37 %T = [T1(1,1),T1(1,2);-a1(1)*p1*T1(2,2),T1(2,2)-T1(2,2)*a1(2)*p1];
38 end
39end