# 材料試験自動データ処理
鋼材の材料試験の自動化データ処理スクリプト. 実現できる機能は 降伏点,引張強度の算出.ヤング率,ポアソン比の算出.最後に,自動でグラフを出力,レポートとしてExcelに保存する.
Google colab ソースコードsource_code
# 導入
最初はcsv生データから,必要なデータを読み取り,応力,縦ひずみ平均値と横ひずみ平均値を算出する.
ここでは,生データのひずみチャンネル配置によらず,コードで数値の[+,-]を用いて,縦ひずみや横ひずみの判定を行った.
1 | from glob import glob |
降伏点の算出方
標準材料試験に対して,ひずみが4000まで,基本降伏点を超えているため,降伏点の算出は: > ひずみが4000までの最大応力とする.
引張強度は応力の最大値を取得する.
1 | sigma_y = 0 |
# 最小二乗法を用いたヤング率の求め
- 実験の初期ノイズおよび,降伏点付近の塑性化の影響を排除するため,ヤング率の算出範囲は (\(0.2\sigma_y - 0.7\sigma_y\))となった.
最小二乗法を用いて,曲線の傾き(\(k_1\))は以下のように算出された:
\[\begin{array}{c}k_1 = \frac{n \sum_{i=1}^{n} x_{i} y_{i}-\sum_{i=1}^{n} x_{i} \sum_{i=1}^{n} y_{i}}{n \sum_{i=1}^{n} x_{i}^{2}-\left(\sum_{i=1}^{n} x_{i}\right)^{2}} \end{array} \]
コードで見やすいため,以下のように省略で表記する. \[k_1 = \frac {na1 - a21\times a22} {nb1 - a21^2}\]
なお,決定係数(\(R^2\))については,残差の二乗和を標本値の平均値 (\(\overline{y}\))からの偏差の二乗和で割ったものを1から引いた値であり,以下のような式で算出した.
\[R^{2} = 1-\frac{\sum_{i=1}^{N}\left(y_{i}-f_{i}\right)^{2}}{\sum_{j=1}^{N}\left(y_{j}-\bar{y}\right)^{2}}\]
1 | i = 0; a1 = 0; a21 = 0; a22 = 0; k1 = 0; b1 = 0; n=0;pc = 0 |
# グラフの出力
matplotlibを用いてグラフの出力
1 | ############## |
Full Code
- フォルダ内に
.csv
ファイルを探して,名前を取得する. - 生データを読み取り,データ処理を行う.
- 生データから,縦ひずみ,横ひずみ平均値と応力を算出する.
- 降伏点および引張強度を算出する.
- 最小二乗法を用いてヤング率およびポアソン比の算出.
- 応力-ひずみ関係グラフを書く,出力,保存する.
- 計算結果および生データをテンプレートに保存する.
1 | from glob import glob |
Matlab ver.
Matlabのバージョンも作っています.考え方は基本一緒.
1 | %% |