Niezawodnośd systemów
Metoda dekompozycji prostej
1
Opole 2010
1. Rozwiązanie analityczne
1.1.
Układ pierwszy
Schemat układu 1
Równanie ma postad:
Qs=[1-(1-R1R2R3)*(1-R4R5)*(1-R6)]
1.2.
Układ drugi
Schemat układu 2
W tym przypadku:
Q=[1-(1-R1)(1-R2)]*[1-(1-R3R4)(1-R5)(1-R6)]
Niezawodnośd systemów
Metoda dekompozycji prostej
2
Opole 2010
2. Rozwiązanie w programie Matlab
2.1.
Układ pierwszy
R1 R2 R3 R4 R5 R6 In out
R1
1
1
0
1
0
1
1
0
R2
1
1
1
0
0
0
0
0
R3
0
1
1
0
1
1
0
1
R4
1
0
0
1
1
1
1
0
R5
0
0
1
1
1
1
0
1
R6
1
0
1
1
1
1
1
1
R7
1
0
0
1
0
1
1
0
R8
0
0
1
0
1
1
0
1
W Matlabie:
s1.name={
'R1'
,
'R2'
,
'R3'
,
'R4'
,
'R5'
,
'R6'
,
'in'
,
'out'
};
s1.connected=logical([
...
1 1 0 1 0 1 1 0
1 1 1 0 0 0 0 0
0 1 1 0 1 1 0 1
1 0 0 1 1 1 1 0
0 0 1 1 1 1 0 1
1 0 1 1 1 1 1 1
1 0 0 1 0 1 1 0
0 0 1 0 1 1 0 1
Następnie:
q=simdec(s1)
qs=simple(sym(q))
q1=sym(
'(1-(1-R1*R2*R3)*(1-R4*R5)*(1-R6))'
);
simple(q1)
Po zastosowaniu funkcji „simdec” otrzymamy:
R1*(R2*(R3*(1)+(1-R3)*(R4*(R5*(1)+(1-R5)*(R6))+(1-R4)*(R5*(R6)+(1-
R5)*(R6))))+(1-R2)*(R3*(R4*(R5*(1)+(1-R5)*(R6))+(1-R4)*(R5*(R6)+(1-
R5)*(R6)))+(1-R3)*(R4*(R5*(1)+(1-R5)*(R6))+(1-R4)*(R5*(R6)+(1-
R5)*(R6)))))+(1-R1)*(R2*(R3*(R4*(R5*(1)+(1-R5)*(R6))+(1-R4)*(R5*(R6)+(1-
R5)*(R6)))+(1-R3)*(R4*(R5*(1)+(1-R5)*(R6))+(1-R4)*(R5*(R6)+(1-
R5)*(R6))))+(1-R2)*(R3*(R4*(R5*(1)+(1-R5)*(R6))+(1-R4)*(R5*(R6)+(1-
R5)*(R6)))+(1-R3)*(R4*(R5*(1)+(1-R5)*(R6))+(1-R4)*(R5*(R6)+(1-R5)*(R6)))))
Po uproszczeniu:
R1*R2*R3-R1*R2*R3*R4*R5+R1*R2*R3*R4*R5*R6-R1*R2*R3*R6+R4*R5-R4*R5*R6+R6
Po wprowadzeniu rozwiązania analitycznego do Matlaba i zastosowaniu funkcji „expand”
otrzymamy identyczne rozwiązanie
Niezawodnośd systemów
Metoda dekompozycji prostej
3
Opole 2010
2.2.
Układ drugi
R1 R2 R3 R4 R5 R6 In out
R1
1
1
1
0
1
1
1
0
R2
1
1
1
0
1
1
1
0
R3
1
1
1
1
1
1
0
0
R4
0
0
1
1
1
1
0
1
R5
1
1
1
1
1
1
0
1
R6
1
1
1
1
1
1
0
1
R7
1
1
0
0
0
0
1
0
R8
0
0
0
1
1
1
0
1
W Matlabie:
s2.name={
'R1'
,
'R2'
,
'R3'
,
'R4'
,
'R5'
,
'R6'
,
'in'
,
'out'
};
s2.connected=logical([
...
1 1 1 0 1 1 1 0
1 1 1 0 1 1 1 0
1 1 1 1 1 1 0 0
0 0 1 1 1 1 0 1
1 1 1 1 1 1 0 1
1 1 1 1 1 1 0 1
1 1 0 0 0 0 1 0
0 0 0 1 1 1 0 1]);
Następnie:
q=simdec(s2)
qs=simple(sym(q))
q1=sym(
'(1-(1-R1)*(1-R2))*(1-(1-R3*R4)*(1-R5)*(1-R6))'
);
simple(q1)
Po zastosowaniu funkcji „simdec” otrzymamy:
R1*(R2*(R3*(R4*(1)+(1-R4)*(R5*(1)+(1-R5)*(R6)))+(1-R3)*(R4*(R5*(1)+(1-
R5)*(R6))+(1-R4)*(R5*(1)+(1-R5)*(R6))))+(1-R2)*(R3*(R4*(1)+(1-
R4)*(R5*(1)+(1-R5)*(R6)))+(1-R3)*(R4*(R5*(1)+(1-R5)*(R6))+(1-
R4)*(R5*(1)+(1-R5)*(R6)))))+(1-R1)*(R2*(R3*(R4*(1)+(1-R4)*(R5*(1)+(1-
R5)*(R6)))+(1-R3)*(R4*(R5*(1)+(1-R5)*(R6))+(1-R4)*(R5*(1)+(1-
R5)*(R6))))+(1-R2)*(0))
Po uproszczeniu:
-(R6+R5-R5*R6+R3*R4-R3*R4*R6-R3*R4*R5+R3*R4*R5*R6)*(R1*R2-R1-R2)
Po wprowadzeniu rozwiązania analitycznego do Matlaba i zastosowaniu funkcji „solve”
trudno sprawdzid poprawnośd rozwiązania. Poprawnośd udowodniono w następujący
sposób:
w1=solve(qs)
w2=solve(q1)
if
w1==w2 w=
'OK'
end