主要内容

最大化与最小化

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

另请参阅

主题