作业帮 > 综合 > 作业

运用matlab,求2变量使达到最小值,有约束

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 12:08:20
运用matlab,求2变量使达到最小值,有约束
totalc =(5*((x - 17)^2 + (y - 2)^2)^(1/2))/2 + 2*((x - 8)^2 + (y - 16)^2)^(1/2) + (7*((x - 7)^2 + (y - 18)^2)^(1/2))/2 + (3*((x - 1)^2 + (y - 28)^2)^(1/2))/2 + ((x - 22)^2 + (y - 10)^2)^(1/2) + 3*((x - 27)^2 + (y - 8)^2)^(1/2),使totalc的最小值得x,y的值,x从0到30,y从0到30.
x=0:0.1:30;y=0:0.1:30;
z =(5*((x - 17).^2 + (y - 2).^2).^(1/2))/2 + 2*((x - 8).^2 + (y - 16).^2).^(1/2) +...
(7*((x - 7).^2 + (y - 18).^2).^(1/2))/2 + (3*((x - 1).^2 + (y - 28).^2).^(1/2))/2 +...
((x - 22).^2 + (y - 10).^2).^(1/2) + 3*((x - 27).^2 + (y - 8).^2).^(1/2);
[CZ I]=min(z);CX=x(I);CY=y(I);
plot3(x,y,z,'g-');hold on
plot3(CX,CY,CZ,'r*')