matlab多元函数求极值
matlab多元函数求极值若已知x∈[0,10],y∈[0,5],z=2*x1*y1+3*x2*y2+x3*y3+5*x4*y4求minz在matlab里可以实现吗,如果可以的话怎么实现?谢谢了,新手,麻烦稍微详细一点.谢谢了,好心人帮忙啊,很急,不胜感激
最佳回答
_1。m
输入:
function y=zhidao_1(x)
y=x(3)*sqrt((x(1)-0)^2+(x(2)-4)^2)+x(4)*sqrt((x(1)-1)^2+(x(2)-5)^2)+x(5)*sqrt((x(1)-2)^2+(x(2)-4)^2)+x(6)*sqrt((x(1)-3)^2+(x(2)-4)^2)+x(7)*sqrt((x(1)-4)^2+(x(2)-1)^2)+x(8)*sqrt((x(1)-5)^2+(x(2)-2)^2)+(10-x(3)*sqrt((x(9)-0)^2+(x(10)-4)^2)+(11-x(4))*sqrt((x(9)-1)^2)+(x(10)-5)^2)+(8-x(5)*sqrt((x(9)-2)^2+(x(10)-4)^2)+(15-x(6))*sqrt(x(9)-3)^2+(x(10)+4)^2)+(8-x(7))*sqrt((x(9)-4)^2+(x(10)-1)^2)+(22-x(8))*sqrt((x(9)-5)^2+(x(10)-2)^2);
保存
然后返回matlab主窗口,
输入:
xmin=zeros(10,1);
xmax=[5;5;10;11;8;15;8;22;5;5];
[x,fopt,flag,c]=fmincon('zhidao_1',zeros(10,1),[],[],[],[],xmin,xmax)
输出的x,fopt就是x以及y的最小值。
你如果想求出最大值,那么在zhidao_1。m中,最后一行加入:y=-y
然后得到的fopt加一个负,就是最大值。
输入:
function y=zhidao_1(x)
y=x(3)*sqrt((x(1)-0)^2+(x(2)-4)^2)+x(4)*sqrt((x(1)-1)^2+(x(2)-5)^2)+x(5)*sqrt((x(1)-2)^2+(x(2)-4)^2)+x(6)*sqrt((x(1)-3)^2+(x(2)-4)^2)+x(7)*sqrt((x(1)-4)^2+(x(2)-1)^2)+x(8)*sqrt((x(1)-5)^2+(x(2)-2)^2)+(10-x(3)*sqrt((x(9)-0)^2+(x(10)-4)^2)+(11-x(4))*sqrt((x(9)-1)^2)+(x(10)-5)^2)+(8-x(5)*sqrt((x(9)-2)^2+(x(10)-4)^2)+(15-x(6))*sqrt(x(9)-3)^2+(x(10)+4)^2)+(8-x(7))*sqrt((x(9)-4)^2+(x(10)-1)^2)+(22-x(8))*sqrt((x(9)-5)^2+(x(10)-2)^2);
保存
然后返回matlab主窗口,
输入:
xmin=zeros(10,1);
xmax=[5;5;10;11;8;15;8;22;5;5];
[x,fopt,flag,c]=fmincon('zhidao_1',zeros(10,1),[],[],[],[],xmin,xmax)
输出的x,fopt就是x以及y的最小值。
你如果想求出最大值,那么在zhidao_1。m中,最后一行加入:y=-y
然后得到的fopt加一个负,就是最大值。
最新回答共有2条回答
-
2026-04-03 08:33:45高挑的寒风
回复_1。m输入:function y=zhidao_1(x)y=x(3)*sqrt((x(1)-0)^2+(x(2)-4)^2)+x(4)*sqrt((x(1)-1)^2+(x(2)-5)^2)+x(5)*sqrt((x(1)-2)^2+(x(2)-4)^2)+x(6)*sqrt((x(1)-3)^2+(x(2)-4)^2)+x(7)*sqrt((x(1)-4)^2+(x(2)-1)^2)+x(8)*sqrt((x(1)-5)^2+(x(2)-2)^2)+(10-x(3)*sqrt((x(9)-0)^2+(x(10)-4)^2)+(11-x(4))*sqrt((x(9)-1)^2)+(x(10)-5)^2)+(8-x(5)*sqrt((x(9)-2)^2+(x(10)-4)^2)+(15-x(6))*sqrt(x(9)-3)^2+(x(10)+4)^2)+(8-x(7))*sqrt((x(9)-4)^2+(x(10)-1)^2)+(22-x(8))*sqrt((x(9)-5)^2+(x(10)-2)^2);保存然后返回matlab主窗口,输入:xmin=zeros(10,1);xmax=[5;5;10;11;8;15;8;22;5;5];[x,fopt,flag,c]=fmincon('zhidao_1',zeros(10,1),[],[],[],[],xmin,xmax)输出的x,fopt就是x以及y的最小值。你如果想求出最大值,那么在zhidao_1。m中,最后一行加入:y=-y然后得到的fopt加一个负,就是最大值。
热门文章
- 康达学院专转本五年制
- 高考一个考场分ab卷吗
- not only but also用法
- 某物体做自由落体运动,从释放开始计时,则物体在前2s内的平均速度为______m/s,物体下落2m时的速度大小为______m/s.
- 三角函数公式大全表格
- 地理中考必背知识点2022
- 2013-2014学年小学六年级科学上学期期末考试试卷及答案
- 人教版2014-2015学年小学五年级英语第二学期期中教学质量检测试卷及答案
- 【Linux驱动开发】设备树详解(二)设备树语法详解
- 别跟客户扯细节
- 在别的城市买房子能落户吗
- 卖房前要把装修贷还完吗
- 高中政治教学提高教学效果的方法探究
- “互联网+”背景下的初中英语课堂教学改革与创新策略研究
- 2022年终止合同范本
- 租房合同范本范文
- 如何挑选土豆
- 如何挑选土鸡
