活用事例

Scilab適用事例(1)

  • 2019/11/06
  • WATANABE Tomoo
Scilab適用事例(1)

 前回、様々な業界でScilab/Xcosが用いられており、事例として「はやぶさ2」プロジェクトにも貢献しているということをご紹介しました。今回は、具体的にScilabを用いてどの様な事が出来るのかを最小二乗法に依る近似曲線を一例としてご紹介します。

 ページトップにあります画像の中で注目していただきたいのが、右ウィンドウの左上(3つの一点鎖線とX印及び赤の実線が書かれている)です。ここで行っているのは、取得したある鋼材の引張試験結果(3本の一点鎖線)に対して、この材料特性をVPSでの入力方法の一つである

Power Stress-Strain Law Formulation:σ=a+bεn

(σ:応力, a:降伏応力, b:係数, ε:塑性ひずみ, n:指数)

を適用し、関数に依る定義を行うということです。(注意:この関数で表現しているのは塑性域についてのみで、弾性域についてはヤング率を別途入力します。これらにより弾塑性域それぞれにおける特性を表現しています。)

ここで、赤字になっているa,b,nの3つを決めてあげればグラフ内の赤線に相当する近似曲線が描けますので、後は何らかの方法でこれらを決定してあげれば良いのですが、手当り次第にパラメータスタディを行うのは効率的ではありませんし、最小二乗法の考え方を適用するにも組み合わせを作成することや計算に時間が掛かってしまいます。さらに言えば精度高く求める事はなかなか難しいものです。

そこで、Scilabの最小二乗法関数:lsqrsolveを用いて自動で計算させるためのスクリプト(極々一部です)が左側で、これにより求められた近似曲線が右側のグラフの左上内に赤線で示されています。その他の3ウィンドウにはa,b,nをどの様に計算過程で変化させていったのか(左下)、これによりどのような曲線が作成されていったか(右上の青線)、それぞれの場合で誤差がどの程度であったか(右下)の履歴を表示しています。

細かく説明してしまうと非常に長くなってしまいますのでここでは割愛しますが、Scilabには様々な数値処理を行うための関数が数多く収録されており、単なる数値計算だけではなく、データ分析、最適化、画像処理、機械学習などと言った分野にも適用が可能です。

どんな関数が実装されているかはこちらよりご覧いただくことが出来ます。

Scilab/Xcosの基本操作や今回のような最適化手法への適用などのトレーニングも行っていますので、興味を持たれましたらお問い合わせください。