Excelで操る!黄金比/黄金分割法による最小値(最大値)の探索

        

Excelを用いた科学技術計算が第2版になりました 30年10月

amazon:Excelで操る! ここまでできる科学技術計算 第2版

楽天: Excelで操る! ここまでできる科学技術計算 [ 神足 史人 ]


  図1 例題関数のグラフ

黄金分割


図2 3分割


 関数の最小値(最大値)求める場合、図2の様に範囲内の2点の関数値を求め、大小を比較しながら範囲を狭めていけば、最小値が探索できる。3等分に分割すると、毎回範囲を分割ことになり非常に煩雑となる。

 そこで、図2のように範囲をx対1の比に分割たとき、a対bの比もx対1になるようにすると、無限に分割を繰り返すことができる。
比例式を下記に示す。
 x : 1 = a : b

 x : 1 = 1: x-1

この比例式は次の2次方程式となる。

  
x2 - x - 1 = 0     ・・・ (1)

(1)式の範囲内の解は x= ( 1+√(5) )/2 = 1.618・・・となる。この分割比は黄金比(黄金分割)と呼ばれているものである。



たった1日で即戦力になるExcelの教科書

入門者のExcel VBA―初めての人にベストな学び方 (ブルーバックス)

Excel VBAのプログラミングのツボとコツがゼッタイにわかる本

すぐに使える! Excel関数逆引き辞典

ワープする宇宙



最小値を求めるときの黄金分割法


(1) 探索範囲[F:T]を設定する。

(2) 黄金比による左側分割点L、右側分割点Rを求める。

(3) 分割点での関数値f(L)、f(R)を求める。

(4) f(L) > f(R)のとき、FをLに置き換える。そうでないとき、TをRに置き換える。

(5) (2)〜(4)を繰り返す。

この方法ではN回探索後の精度εは次式となる。

  ε=(1/1.62・・・)N-1    ・・・(2)



Excelで操る!黄金分割法


Excelを用いて例題の関数f(x)=x+2/xの最小値を求めてみよう。理論解はx=√2のときf(x)は最小となる。
図3様に、セルに計算を組み込む。


                    図3 黄金分割法の設定


 今回の計算では、自分自身のセルを参照する循環参照を行うため、最大反復計算回数を設定する。メニューバーのツール→オプションを選択すると、次のオプション画面が現れる。この画面で計算方法として自動を選択する。反復計算にチェックをいれ、最大反復回数を100に、変化の最大値を小さな値に設定し、OKボタンをクリックする。


                  図4 オプション画面

 計算実行のセル値をyに変更すると、図5のように最小値が探索できる。


                    図5 最小値の探索結果


Excelで操る!フィボナッチ探索法による最小値(最大値)の探索


 





EXCELを用いた科学技術計算

EXCELのソルバーを用いた科学技術計算



〒673−0036 兵庫県明石市松江62−14
(有)ゴッドフット企画



感想をお聞かせ下さい



JR福知山線 脱線事故シミュレーション

脱線事故シミュレーションもEXCELで
(Yahoo Japan 掲載)


Copyright (C) GODFOOT 2010 All Rights Reserved.