エクセル使ってシミュレーションしてる方います?

このエントリーをはてなブックマークに追加
205修正
ソルバーによる非線形最小二乗回帰の例

f(x)=a*exp(-x^2)+b*sin(x+c)+dのとき

    A    B               C                        D    E      F
1  xの値 yの値            f(x)の値                      a    1   
2   0    2   =$E$1*EXP(-(A2)^2)+$E$2*SIN(A2+$E$3)+$E$4        b    1  =(B2-C2)^2
3   1    7   =$E$1*EXP(-(A3)^2)+$E$2*SIN(A3+$E$3)+$E$4        c    1  =(B3-C3)^2                         
4   2    -4  =$E$1*EXP(-(A4)^2)+$E$2*SIN(A4+$E$3)+$E$4        d    1  =(B4-C4)^2                        
5   3    0  =$E$1*EXP(-(A5)^2)+$E$2*SIN(A5+$E$3)+$E$4                =(B5-C5)^2
6   4    2  =$E$1*EXP(-(A6)^2)+$E$2*SIN(A6+$E$3)+$E$4                =(B6-C6)^2
7                                                         =SUM(F2:F6)

ソルバーで、F7を最小化、E1〜E4を変化させるセルに設定。
方法は、準ニュートン法がお勧め。精度は、中心差分で二次式で近似した方が一般的には高い。
収束判定を厳しくすれば、かなり高精度の局所解が得られる。
非線形回帰の定番は、LM(レヴェンバーグ・マーカート)法だが、ソルバーではGRG2法が使われてる。
LMよりかなり収束が速い。