Matlab中多元函数求极小值问题

单形替换法求 f(x1,x2)=4*(x1-5)^2+(x2-6)^2 的极小值

第1个回答  2019-07-24
on来求解。写成向量形式,约束a*x<=b,初始值x0附近可以搜出出局部极小值。输入:
z=@(x)7.2*sqrt(25+(15-x(1))^2)+(7.2+(107/(20-x(1))))*sqrt((8-x(2))^2+(20-x(1))^2)+7.2*x(2);
a=[1,0;0,1];
b=[15;8];
x0=[1;1];
[x,feval]=fmincon(z,x0,a,b)
得到局部极小值的坐标和函数值:
x
=
15.0000
6.6994
feval
=
231.9944
第2个回答  2019-11-11
选择初始点A(x1,x2)
在二维平面中再选两点,共三点A,B,C(一般组成正三角形)。
计算三点的
函数值
,设
A点
对应的函数值最大。
找A点关于BC的对称点,作为新的A点。
重复计算。
直到ABC组成的
三角形中心
基本不变为止。
相似回答