第1个回答 2019-09-03
[3333]是初值
fminsearch的用法
[最小值点,最小值]=fminsearch(函数,初值)
fminsearch是不能设定约束范围的
以下令x=[x1x2y1y2]
wa=[0,1;1,5;,2,4;3,4];
wb=[4,1;5,2];
p=[10,11,8,15];
p1=[8,22];
f=@(x)(sqrt(abs(x(1)-wa(1,1))^2+abs(x(3)-wa(1,2))^2)*p(1)+sqrt(abs(x(1)-wa(2,1))^2+abs(x(3)-wa(2,2))^2)*p(2)+sqrt(abs(x(1)-wa(3,1))^2+abs(x(3)-wa(3,2))^2)*p(3)+sqrt(abs(x(1)-wa(4,1))^2+abs(x(3)-wa(4,2))^2)*p(4)+sqrt(abs(x(2)-wb(1,1))^2+abs(x(4)-wb(1,2))^2)*p1(1)+sqrt(abs(x(2)-wb(2,1))^2+abs(x(4)-wb(2,2))^2)*p1(2));
[x,y]=fminsearch(f,[3,3,3,3])
得到的结果:
x=
2.00005.00004.00002.0000
y=
77.9259
即x1=2x2=5y1=4y2=2最小值为77.9259
第2个回答 2010-06-19
结果
f =
Inline function:
f(x) = x(:,1).^2+x(:,2).^2
x =
1.0e-004 *
-0.2102 0.2548
fval =
1.0915e-009
exitflag =
1
程序
f=inline('x(:,1).^2+x(:,2).^2')
[x fval exitflag]=fminsearch(f,[1 1])本回答被网友采纳