投稿

「信頼性工学のはなし―信頼度99.9999…%をめざして」5~6章

イメージ
大村平「信頼性工学のはなし―信頼度99.9999…%をめざして」日科技連  の読後行間補充メモ 同書籍は、印刷数表による信頼性工学の啓蒙書。 本稿では、同書籍の設例について、Python [Google Colaboratory]による演算処理例を示す。 5章 保全とアベイラビリティ p106 表5.1 保全性の効きめ \(Availability=\cfrac{MTBF}{MTBF+MTTR}\) (処理工程) MTBFとMTTRの種々の比率を設定 可働率を計算 一覧表化 import pandas as pd RF_line = [0.3, 0.2, 0.1, 0.05, 0.01, 0.005, 0.001] # MTTR/MTBF Ava_line = [] for RF in RF_line: ava = 1/(1+RF) # 可動率 Ava_line.append(round(ava *100,1)) DF = pd.DataFrame([RF_line,Ava_line]).T DF.columns = ['MTTR/MTBF','Availability [%]'] DF MTTR/MTBF Availability [%] 0 0.300 76.9 1 0.200 83.3 2 0.100 90.9 3 0.050 95.2 4 0.010 99.0 5 0.005 99.5 6 0.001 99.9 6章 信頼性を創り込む p145 SN曲線 (処理工程) 設例値の設定 対数関数の係数を求める 対数関数に基づき、N値に対応するS値を計算 SNグラフを描画 曲線の方程式の係数推定:  SciPy の optimize(Curve fitting) 機能を使用 import numpy as np from scipy import optimize import matplotlib.pyplot as plt # 設例値 x_sample = [10,100,1000,10000] y_sample = [4,3,2,1] # 対数関数の係数を求める model = lambda t,a,b :a + b * np.log(t) popt, pcov = o...

「信頼性工学のはなし―信頼度99.9999…%をめざして」4章

イメージ
大村平「信頼性工学のはなし―信頼度99.9999…%をめざして」日科技連  の読後行間補充メモ 同書籍は、印刷数表による信頼性工学の啓蒙書。 本稿では、同書籍の設例について、Python [Google Colaboratory]による演算処理例を示す。 4章 直列と並列の信頼性 p77 直列システムの信頼度 (処理工程) システム機能予定時間\(t\) と各部品の \(MTBF\) とを設定 \(MTBF\) の逆数として故障率\(k\) を求める 故障率\(k\) とシステム機能予定時間\(t\) に基づき部品の信頼度\(r\) を求める 各部品の信頼度\(r\) を乗じて、直列システムの信頼度\(R\) を求める import math # 設例値 MTBF1 = 1000 MTBF2 = 2000 MTBF3 = 2500 time = 100 # 故障率 k1 = 1/MTBF1 k2 = 1/MTBF2 k3 = 1/MTBF3 # 部品の信頼度 r1 = math.exp(-k1* time) r2 = math.exp(-k2* time) r3 = math.exp(-k3* time) Reliability = r1*r2*r3 print(f'直列システム[{time}時間経過後]の信頼度:{round(Reliability,3)}') 直列システム[100時間経過後]の信頼度:0.827 p79 直列システムの信頼度 同じ信頼度 \(r\) を有する部品の部品点数(横軸)と直列システムの信頼度\(R\)(縦軸)との関係グラフ。 from matplotlib import pyplot as plt import numpy as np # 設定値 reliability = [0.98, 0.99, 0.995, 0.997, 0.998, 0.999, 0.9995, 0.9999] numbers = np.arange(0,2001,1) # 直列システムの信頼度 Rel = [] for rel in reliability: Rel.append(rel ** numbers) # グラフ描画 for graph in range(len(reliability)): ...

「信頼性工学のはなし―信頼度99.9999…%をめざして」3章

イメージ
大村平「信頼性工学のはなし―信頼度99.9999…%をめざして」日科技連  の読後行間補充メモ 同書籍は、印刷数表による信頼性工学の啓蒙書。 本稿では、同書籍の設例について、Python [Google Colaboratory]による演算処理例を示す。 3章 偶発故障と信頼性 p48 表3.1 1時間に10%ずつ減ると (処理工程) 経過時間の列を設定 各経過時間に対して残量を計算 一覧表化 import pandas as pd import numpy as np # 経過時間 pass_time = np.array(range(0,20,1)) # 残グラム grams = [] for time in pass_time: grams.append(100 * 0.9 ** time) # DF化 time_s = pd.Series(pass_time) grams_s = round(pd.Series(grams),2) DF = pd.DataFrame([time_s,grams_s]).T DF.columns = ['Passed_Time','Residual_Grams'] DF Passed_Time Residual_Grams 0 0.0 100.00 1 1.0 90.00 2 2.0 81.00 3 3.0 72.90 4 4.0 65.61 5 5.0 59.05 6 6.0 53.14 7 7.0 47.83 8 8.0 43.05 9 9.0 38.74 10 10.0 34.87 11 11.0 31.38 12 12.0 28.24 13 13.0 25.42 14 14.0 22.88 15 15.0 20.59 16 16.0 18.53 17 17.0 16.68 18 18.0 15.01 19 19.0 13.51 p49 図3.1 1時間に10%ずつ減ると (グラフ) # コードは上記の続き import matplotlib.pyplot as plt plt.plot(DF['Passed_Time'],DF['Residual_Grams'], label= r...

「信頼性工学のはなし―信頼度99.9999…%をめざして」1~2章

イメージ
大村平「信頼性工学のはなし―信頼度99.9999…%をめざして」日科技連  の読後行間補充メモ 同書籍は、印刷数表による信頼性工学の啓蒙書。 本稿では、同書籍の設例について、Python [Google Colaboratory]による演算処理例を示す。 1章 信頼性を支える3本の柱  p5 双発と4発、どちらを信頼するか。 efp = float(input('エンジンの故障確率',)) print(f'双発機の墜落確率:{efp**2}') print(f'4発機の墜落確率:{efp**4}') print(f'双発機が遅れる[=エンジンのいずれか又は全部が故障する]確率:{1-(1-efp)**2}') print(f'4発機が遅れる[=エンジンのいずれか又は全部が故障する]確率:{1-(1-efp)**4}') エンジンの故障確率0.001 双発機の墜落確率:1e-06 4発機の墜落確率:1.0000000000000002e-12 双発機が遅れる[=エンジンのいずれか又は全部が故障する]確率:0.001998999999999973 4発機が遅れる[=エンジンのいずれか又は全部が故障する]確率:0.003994003998999962 \(1e-06\) とあるのは、\(1\times 10^{-6}\) すなわち、0.000001 を指す。 \(1.00.......002e-12\) とあるのは、\(1.00.......002\times 10^{-12}\) すなわち、0.00000000000100.......002 を指す。 p9 2進法で表す 表1.1 import pandas as pd decimal = [] binary = [] for i in range(10): decimal.append(i) # 10進数 bin = format(i,'04b') #4桁の2進数 binary.append(bin) del i # 変数を廃棄 DF = pd.DataFrame([decimal,binary]).T DF.columns = ['10進法','2進法'] DF # 表1...

「統計解析のはなし―データに語らせるテクニック」9章

イメージ
大村平「統計解析のはなし―データに語らせるテクニック」日科技連  の読後行間補充メモ 同書籍は、印刷数表と手計算による統計解析を紹介した良書。 本稿では、同書籍の設例について、プログラムによる演算処理をした場合の例を示す。 コードと出力例は、Python[Google Colaboratory] 9章 なんでも数字で表す法 ~数量化のはなし~  p262 5段階評価 表9.1 等間隔目盛りで評価対象を測定する線形の評価。 平均値をまたいだ \(1\sigma\) の区間に約38パーセントの確率分布。 import numpy as np from scipy.stats import norm import pandas as pd import matplotlib.pyplot as plt p_inf = float('inf') # 無限大 # 設定値 mean = 0 # 平均 sigma = 1 # 標準偏差 # 領域の上限 up1 = -sigma *3/2 up2 = -sigma/2 up3 = sigma/2 up4 = sigma *3/2 up5 = p_inf up_list = [-p_inf, up1, up2, up3, up4, up5] # リスト化 # 領域の確率 area_prob = [] for up in range(len(up_list)-1): prob = norm.cdf(up_list[up+1], mean)-norm.cdf(up_list[up], mean) area_prob.append(round(prob*100,1)) # DF化 ## index生成 subject = "{}点クラス" point_list = ['1','2','3','4','5'] index_info = [] for point in point_list: class_name = subject.format(point) # 差込で語句生成 index_info.append(class_name) ## DF生成 DFw = pd.DataFrame(...