CAE解析業務の基礎講座[5] ~Excelの便利機能~
今回の基礎講座では、Excelを使った結果データの修正や分析に便利な機能を紹介します。
第5回 Excelの便利機能
数値解析業務ではグラフを用いて結果を説明する事が多いと思いますが、その際、知っておくと便利なExcelの機能をいくつかご紹介します。
1. If関数
特定の列の値に応じて他の行の処理方法を変更したいときは、if関数を使います。
if関数のフォーマットは、if(理論式,[真の場合],[偽の場合])です。
例えば、自由表面の計算において、各セルの流体率(VOF値)と流速のデータがあり、セルごとに運動エネルギーEfを計算するケースを考えます。VOF値が0.5未満の時は流体が存在しないとみなしてEf =0に、0.5以上の時はEf =密度×流速^2を計算する、というような場面です。
例)セルA1の値が1.0を超える時はセルB1の値をそのまま用い、セルA1の値が1.0以下の時はセルB1の値にセルC1の値を乗じた値を用いる場合;
D1のセルに以下の数式
=IF(A1>1,B1,B1*C1)
を入力すると、 D列のセルはA列のセルの値に応じて処理方法が変わります。
2. フィッティング
Excelには、指数近似や多項式近似などをおこなう近似曲線オプションがありますが、このオプションでは表現できない場合、たとえば実験データと理論式を比較する場合には分析ツールを用います。Excelにはシンプレックス法などのフィッティング機能が準備されていて、実験データと任意の数式との差が最小になるように数式内の未知のパラメータをフィッティングすることができます。
以下に使用方法を説明します。
A列に時間、B列に実験データが記載されているものとします。
2-1. アドインの設定
① Excelメニューの「ファイル」 > 「オプション」 > 「アドイン」から「分析ツール」を選択し、「設定」ボタンをクリックして「ソルバーアドイン」にチェックを入れて「OK」ボタンをクリックします。これでフィッティング機能が有効化されます。
2-2. データの準備
続いてデータを準備します。近似式は、f=時刻^パラメータとします。
② 任意のセルに、数式で使用するパラメータ(仮の値)を入力
→ 図2 参考Excel図では、セルG1に仮のパラメータ値 ”2”が入力されている
③ C列に仮の値で計算した近似式の解を算出
→ 図2 参考Excel図では、セルC1に以下の数式が入力されている
=A2^$G$1
④ D列に、B列とC列の差(平方二乗和)を算出
⑤ 任意のセルに、実験データと数式の値との誤差の総和を算出
→ 図2 参考Excel図では、セルG2にD列の総和を算出
2-3. フィッティングの実行
最後に、フィッティングを実行します。⑤の誤差の総和が最小になる様に、②で設定したパラメータの値を自動で計算させます。
⑥ メニューから「データ」 > 「ソルバー」を選択して[ソルバーのパラメータ]パネルを表示 (図3)
⑦ 目的セルに、⑤で算出した誤差の総和のセルを指定(図3)
⑧ [目標値]ラジオボタンから「最小値」を指定(図3)
⑨ [変数セルの変更] に、②で数式のパラメータを入力したセルを指定(図3)
⑩ その他の機能を用いて、 0割を避けるなどの制約条件を必要に応じて追加
⑪ 「解決」ボタンをクリック
今回ご紹介した機能の他にも、Excelには作業効率アップにつながる便利なマクロが多数実装されています。
※Excelはマイクロソフト社の登録商標です。
関連記事/関連ページ
●CAE解析業務の基礎講座[4] ~コマンドプロンプトの便利な機能~
●CAE解析業務の基礎講座[6] ~シンプレックス法~