使用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值
展开
tianxiawulang
2014-03-02 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2642万
展开全部

这是一个非线性约束优化问题,使用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)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式