matlab 非线性规划 带参数 90

minm=sqrt(x^2+(a-y)^2)+sqrt((c-x)^2+(b-y)^2)+ky0<=x<=c,0<=y<=a,1<=k<2我的做法是求偏导得极小值点x=s... min m=sqrt(x^2+(a-y)^2)+sqrt((c-x)^2+(b-y)^2)+ky
0<=x<=c,0<=y<=a,1<=k<2
我的做法是求偏导得极小值点
x=sqrt(4-k^2)*(b-a)/(2*k)+c/2 y=(a+b)/2-k*c/(2*sqrt(4-k^2))
然后要考虑极小值点和定义域之间的关系:
在定义域内的话,极小值点就是最小值点;
不在定义域内的话,最小值点在边界上取得,x=0,x=c,y=0,y=a
最后一步做不出来啊。。解析很难做。。可不可以matlab直接实现带参数的非线性规划。。。lingo能做的话也行啊。
求大神帮忙~~谢谢嘞。。。
(这道题就是数模国赛2010c题,第一问。。)
展开
 我来答
羊舌欣婷
2011-08-24 · 贡献了超过106个回答
知道答主
回答量:106
采纳率:0%
帮助的人:91.2万
展开全部
function hh
X0=[500 500];
format short g
[X,FVAL,EXITFLAG]=fminsearch(@myfun,X0)
%test fmin
syms x y
A=5;B=4;C=10;
f0=(A+B+C)*sqrt(x^2+y^2);
fa=A*sqrt((x-400)^2+(y-400)^2);
fb=B*sqrt((x-400)^2+(y-600)^2);
fc=C*sqrt((x-600)^2+(y-400)^2);
f=5*(f0+fa+fb+fc)
ezmesh(f,[0 500 0 500])
function f=myfun(x)
A=5;B=4;C=10;
f0=(A+B+C)*sqrt(x(1)^2+x(2)^2);
fa=A*sqrt((x(1)-400)^2+(x(2)-400)^2);
fb=B*sqrt((x(1)-400)^2+(x(2)-600)^2);
fc=C*sqrt((x(1)-600)^2+(x(2)-400)^2);
f=5*(f0+fa+fb+fc);

结果:
X =

2.2307e-005 1.7288e-005

FVAL =

64620

EXITFLAG =

1

开始不相信,x=0,y=0的结果。以为一根大管,到了三角形中间,再分配。
经验证(见下图),极小值的确就在(0,0)处!
从出发点分别引出三条管线,就像楼上回答者: xiaomol_ckt绘制的那样。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
东莞大凡
2024-08-07 广告
在东莞市大凡光学科技有限公司,我们利用Halcon软件处理机器视觉项目时,会用到自定义标定板以满足特定需求。Halcon支持用户根据实际应用场景自定义标定板形状与标记点。这不仅可以灵活应对不同工作环境,还能提高标定精度。通过调整圆点数量、间... 点击进入详情页
本回答由东莞大凡提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式