Mathematics | ![]() ![]() |
複数変数関数の最小化
関数fminsearch
は、多くの変数を取り扱ったり、対象となる区間を設定するより、スタートベクトル(初期値ベクトル) x0 を設定すること以外は、fminbnd
と同様です。fminsearch
は、スタート時に設定したベクトルの近くの数学的関数の極小値になるベクトルxを出力しようとします。
fminsearch
を試すため、3つの変数x
, y
, z
からなる変数を定義するM-ファイルthree_var
を作成します。
function b = three_var(v) x = v(1); y = v(2); z = v(3); b = x.^2 + 2.5*sin(y) - z^2*x^2*y^2;
x = -0.6
, y = -1.2
, z = 0.135
を初期値として、この関数の最小値を見つけましょう。
v = [-0.6 -1.2 0.135]; a = fminsearch(@three_var,v) a = 0.0000 -1.5708 0.1803
![]() | 1変数関数の最小化 | 最小化オプションの設定 | ![]() |