ワイブル分布を使うと故障率λ(t)、確率密度関数f(t)、信頼性R(t)と故障確率F(t)は以下のようなグラフになる。
としたところは、教科書ではとなっていた。しかし実際にMatlabで数値積分してみるとグラフの増加/減少関係が逆だったので、積分区間を[0,t]とした。
これをMatlabでシミュレーションしてみる。
各区間のm=0.5, 1, 2として、のグラフで各区間の端点が整合するようにパラメータのとを選んだが、λを数値積分して確率密度関数を求め、それを数値微分すると誤差が生じてしまった。定性的な挙動は合っている。
clear all; close all; f = @(m,eta,g,t) m/eta^m*(t-g).^(m-1); t=0.1:0.1:2; m=0.5; eta=3; g = 0; lambda = f(m,eta,g,t); subplot(311); plot(t,lambda); hold on; t=2:0.1:6; m=1; eta=5; g = 1; lambda = f(m,eta,g,t); plot(t,lambda); t=6:0.1:10; m=3.5; eta=7; g = 1; lambda = f(m,eta,g,t); plot(t,lambda); syms x; f = @(m,eta,g) m/eta^m*(x-g).^(m-1); t=0.1:0.1:2; m=0.5; eta=3; g = 0; R(x) = exp(-int(f(m,eta,g),0,x)); subplot(312); plot(t,R(t));hold on; subplot(313); pdf(x)=-diff(R); plot(t,pdf(t));hold on; t=2:0.1:6; m=1; eta=5; g = 1; R(x) = exp(-int(f(m,eta,g),0,x)); subplot(312); plot(t,R(t)); subplot(313); pdf(x)=-diff(R); plot(t,pdf(t)); m=3.5; eta=7.071067812; g = 1; t=6:0.1:10; f = @(m,eta,g) m/eta^m*(x-g).^(m-1); R(x) = exp(-int(f(m,eta,g),0,x)); subplot(312); plot(t,R(t)); subplot(313); pdf(x)=-diff(R); plot(t,pdf(t)); subplot(311);title('Failure rate lambda'); subplot(312);title('Reliability R(t)'); subplot(313);title('Failure PDF f(t)'); sgtitle('Bathtub curve')