I have differnt coodinate after use fmincon

조회 수: 2 (최근 30일)
jong eun kim
jong eun kim 2022년 12월 4일
댓글: jong eun kim 2022년 12월 4일
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
jong eun kim
jong eun kim 2022년 12월 4일
nono i mistake the question i set lower=[-1 -1] upper=[1 1]
Torsten
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
Matt J 2022년 12월 4일
x0=[0 0]; lb=[-1 -1]; ub =-lb;
fmincon(@distance,x0,[1,1],2,[],[],lb,ub)
Local minimum found that satisfies the constraints. Optimization completed because the objective function is non-decreasing in feasible directions, to within the value of the optimality tolerance, and constraints are satisfied to within the value of the constraint tolerance.
ans = 1×2
1.0000 -1.0000
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
  댓글 수: 4
jong eun kim
jong eun kim 2022년 12월 4일
i reupload my question by more specificly. i think u dont understand my question. but thank you for your help
jong eun kim
jong eun kim 2022년 12월 4일
plz check my new question sir

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Torsten
Torsten 2022년 12월 4일
편집: Torsten 2022년 12월 4일
x0=[0 0];
lowerbound =[-1 -1];
upperbound = [1 1];
sol = fmincon(@distance,x0,[1 1],2,[],[],lowerbound,upperbound)
Local minimum found that satisfies the constraints. Optimization completed because the objective function is non-decreasing in feasible directions, to within the value of the optimality tolerance, and constraints are satisfied to within the value of the constraint tolerance.
sol = 1×2
1.0000 -1.0000
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 CenterFile Exchange에서 Nonlinear Optimization에 대해 자세히 알아보기

제품


릴리스

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by