Matlab无约束优化小例

例1:
求f=2exp(-x)sin(x)在(0,8)上的最大、最小值。

f='2*exp(-x).*sin(x)';
fplot(f,[0,8]);
%xmin最小值点,fmin函数在该点的值
[xmin,fmin]=fminbnd(f,0,8)
f1='-2*exp(-x).*sin(x)';
%求最大值,就把原函数求-f(x)的最小值
[xmax,fmax]=fminbnd(f1,0,8);
xmax
famx=abs(fmax)

例2 边长3m的正方形铁板,四角减去相等正方形,制成方形无盖水槽。怎样减使水槽容积最大。
解:列出目标函数(加负号,转化为求最小)
min y=-((3-2x)^2)*x

f='-(3-2*x).^2*x';
[x,fval]=fminbnd(f,0,1.5);
xmax=x
fmax=-fval

例3 求多元函数最小值
minf(x)=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1)

%多元函数无约束优化问题
x0=[-1,1];%初始点
[x,fval]=fminunc('exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1)',x0)

你可能感兴趣的:(优化,matlab)