15 |
確率論 (5) |
前記事の図181.1を生成したコードは以下のようなもので、i番目の部品が稼働していたら(life[i]==1)サイコロを振り、故障率で示される範囲に入っていたら故障とする(life[i] = 0)ものです。そのときの稼働時刻t-1を(tは不稼働時刻であるため)FFOTに格納します。
for (t = 0; t < TIMEMAX; t++) { for (int i = 0; i < IMAX; i++) { if ((life[i] == 1) && (genrand_real1() < lambda)) { life[i] = 0; // failed ffot[i] = t-1; // t-1 is the failure free operating time } } }
コードを見るとわかるようにどこにも指数関数は使用していませんが、前図181.1のように指数分布になります。このことは過去記事(#1~#5)でも解説しているように、簡単に示すことができます。ここで故障率$\lambda$は定数とします。
時刻$t=0$では全ての部品が良品(信頼度=1)であり、時刻$t$において、1時間後の信頼度の減少は故障率に比例することから、信頼度についての差分方程式が得られます。 $$ R(t+1)-R(t)=-\lambda\cdot R(t) $$ 1時間後ではなく、$\Delta t$時間後として、これを0に限りなく近づければ、差分方程式は信頼度について微分方程式となり、 $$ \lim_{\Delta t\to 0}\frac{1}{\Delta t}\cdot[R(t+\Delta t)-R(t)]=\frac{dR(t)}{dt}=-\lambda\cdot R(t)\\ -\lambda=\frac{1}{R(t)}\frac{dR(t)}{dt}=\frac{d}{dt}\ln R(t)\\ -\int\lambda dt=-\lambda t+C_1=\ln R(t)+C_2\\ R(t)=e^{-\lambda t+C_1-C_2} $$ ここで、$R(0)=1$を用いれば、積分定数はゼロとなり、 $$ \therefore R(t)=e^{-\lambda t}\\ $$ このように故障率を一定として微分方程式を立て、積分して分布関数を求めると、上記のように信頼度が求まります。不信頼度(CDF, 累積分布関数)は以下のようになります。 $$ F(t)=1-R(t)=1-e^{-\lambda t} $$