I have differnt coodinate after use fmincon
3 次查看(过去 30 天)
显示 更早的评论
i want to get a coordinate for maximum distance which form is distance =10.361+0.40125.*a-0.34875.*c-0.78375.*a.*c i plot this surface, and i have (1,-1) is the best coordinate and the maximum is 11.8947 but when i do this for fmincon, x0=[0 0]; lowerbound=[-1 -1]; upperbound =[1 1]; function f = distance(x) A=x(1); C=x(2); f= (-1).*(10.361+0.40125.*A-0.34875.*C-0.78375.*A.*C); end function [c ceq]=const(x) A=x(1); C=x(2); c=A+C-2; ceq=[]; end the answer is x=1 y=1 , not a x=1 y=-1!!!!!! plz help me
5 个评论
Torsten
2022-12-4
Both Matt J and I already changed the settings.
And the result is as you expect: A = 1 and C = -1.
采纳的回答
Matt J
2022-12-4
x0=[0 0]; lb=[-1 -1]; ub =-lb;
fmincon(@distance,x0,[1,1],2,[],[],lb,ub)
function f = distance(x)
A=x(1); C=x(2); f= (-1).*(10.361+0.40125.*A-0.34875.*C-0.78375.*A.*C);
end
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Nonlinear Optimization 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!