Main Content

このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。

最大化と最小化

Global Optimization Toolbox 最適化関数は、目的関数 (または適合度関数) を最小化します。つまり、次のような問題を解くのです。

minxf(x).

f(x) を最大化したい場合は、- f(x) を最小化します。- f(x) が最小になる点が、f(x) が最大になる点と同じだからです。

例えば、関数を最大化したいとします

f(x)=exp((x12+x22))(x122x1x2+6x1+4x223x2).

計算する関数を書く

g(x)=f(x)=exp((x12+x22))(x122x1x2+6x1+4x223x2),

そして g(x) を最小化します。点 x0 = [0 0] から始めます。

f = @(x)exp(-(x(1)^2 + x(2)^2))*(x(1)^2 - 2*x(1)*x(2) + 6*x(1) + 4*x(2)^2 - 3*x(2));
g = @(x)-f(x);
x0 = [0 0];
[xmin,gmin] = fminsearch(g,x0)
xmin =

    0.5550   -0.5919


gmin =

   -3.8683

f の最大値は f(xmin) の値、つまり gmin です。

f(xmin)
ans =

    3.8683

関連するトピック