使用matlab求极值问题
1)450=sqrt((x+372).^2+(y-2169).^2)-sqrt((x-125).^2+(y-2197).^2)2)X∈[600,1200]3)Y>2194...
1) 450=sqrt((x+372).^2+(y-2169).^2)-sqrt((x-125).^2+(y-2197).^2)
2)X∈[600,1200]
3)Y>2194
K=(x+372)/(y-2169)-tan(pi/10)
求满足1,2,3条件时,K取得最小值和对应的x,y值 展开
2)X∈[600,1200]
3)Y>2194
K=(x+372)/(y-2169)-tan(pi/10)
求满足1,2,3条件时,K取得最小值和对应的x,y值 展开
展开全部
这是一个非线性约束优化问题,使用fmincon函数求解。
参考代码:
function zd
K=@(x)(x(1)+372)/(x(2)-2169)-tan(pi/10);
x=fmincon(K,[600 2500],[],[],[],[],[600 2194],[1200 inf],@ncon);
ezplot('450=sqrt((x+372).^2+(y-2169).^2)-sqrt((x-125).^2+(y-2197).^2)',[600 1200],[2194 3000]);
hold on
plot(x(1),x(2),'rp')
axis auto
function [c,ce] = ncon(x)
c=[];
ce=-450+sqrt((x(1)+372).^2+(x(2)-2169).^2)-sqrt((x(1)-125).^2+(x(2)-2197).^2);
追问
matlab初学者表示看不懂
能告诉我解得出来吗?最终答案是多少?
谢谢。
-----------
对不起,K的表达式错误
应该为K=(y-2169)/(x+372)-tan(pi/18)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询