amazon:Excelで操る! ここまでできる科学技術計算 第2版 楽天: Excelで操る! ここまでできる科学技術計算 [ 神足 史人 ] |
図1 例題の3次方程式のグラフ |
EXCELのソルバーは変化させるセルを指定し、目的セルを最小(最大)にする機能です。 関数 f(x) = 0 の根を求める場合、関数 f(x)2 が最小(=0)となるxを見つける。 (2乗すると、その関数は負になることはなく、必ず最小値が存在する。) そのときのxが、方程式 f(x) = 0 の根となります。 ただし、最小値として0より大きい値が算出された場合、その方程式には根が存在しない。 |
3次方程式 f(x) = x3 + 6x2 + 21x + 32 = 0の根を求めてみよう。 図2 3次方程式と3次方程式の2乗のグラフ 図2のグラフから判断して、-3と-2の間に解があるようです。 |
たった1日で即戦力になるExcelの教科書 入門者のExcel VBA―初めての人にベストな学び方 (ブルーバックス) エクセルこれだけ関数事典90―ハンディで見やすい! Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 |
xのセルを設定し、そのxに対する f(x), f(x2)2 を計算する。 図3 3次方程式の値とその2乗の値 メニューバーのツール - ソルバーを選択して下さい。 変化させるセルをx値とし、目的セルはf(x)2の値となります。 図4 ソルバー:パラメータ設定画面 実行ボタンをクリックすると、計算結果がEX CEL上に反映されます。 図5 ソルバーの実行結果 f(x),f(x)2はともに0となりました。このときのxの値がf(x) = 0 の根となります。 |
前例は実根が1個しかありません。3根を持つ3次方程式の場合はどうなるでしょう。 3根を持つ3次方程式 f(x) = 4x3 + 6x2 - 40x + 20 = 0 の根を求めてみよう。 図6 3根を持つ3次方程式のグラフ ソルバーを実行してみると、1根のみ求まります。 図7 3根を持つ3次方程式の解(ソルバー実行結果) 他の根を求めたい場合、xに制約条件をつける必要があります。 ソルバー:パラメータ設定画面で、制約条件の追加ボタンをクリックし、 制約条件 x > 2 を設定します。 図8 制約条件の追加画面 制約条件のもとで、ソルバーを実行すると、求めたい根が算出されます。 図9 制約条件付きのソルバー実行結果 |
制約条件として、直接 f(x) = 0 を設定し、意味のない目的関数を作って、ソルバーを実行しても、 方程式の解は求まります。 図10 無意味な目的関数を作成 ソルバーのパラメータ設定画面で、制約条件 f(x) = 0 を設定する。 図11 制約条件を設定するソルバー:パラメータ設定画面 ソルバーを実行すると解が求まります。 図12 制約条件でf(x) = 0 を設定したソルバーの実行結果 |