学校电脑的matlab没simulink 所以就把第一问做了一下不知道对不对 lz看下
起始点用的是重心;
function [x_best,dist_best]=mindist(a,b,c)
format short;
ax=a(1);bx=b(1);cx=c(1);
ay=a(2);by=b(2);cy=c(2);
x_start=[(ax+bx+cx)/3,(ay+by+cy)/3];
options = optimset('MaxFunEvals',10000,'Display','off');
[x_best,dist_best]=fminsearch(@(x)dist_min(x),x_start,options);
plot(ax,ay,'r+');hold on;plot(bx,by,'r+');hold on;plot(cx,cy,'r+');hold on;
plot(x_best(1),x_best(2),'*');
%subfunction
function y=dist_min(x)
xx=x(1);xy=x(2);
y=sqrt((xx-ax)^2+(xy-ay)^2)+sqrt((xx-bx)^2+(xy-by)^2)+sqrt((xx-cx)^2+(xy-cy)^2);
end
end
第一问算出来x的值
x =
0.6958 0.7511
最短距离
dist =
6.7664