本方法可用于寻找距离图中几个点总距离最小的点的坐标,在储运联合站位置选择等方面可以应用。下面附详细代码:
clear;
clc;
x=[39496497 39498814 39495320 39498306 39501067];
y=[4218695 4218832 4218558 4217348 4217954];
dist=@(var) sum(sqrt((var(1)-x).^2+(var(2)-y).^2));%var(1)=x;var(2)=y
var0=rand(2,1);
[var,minDistance,exitflag]=fminunc(dist,var0);
plot(x,y,'o','markerfacecolor','r','markersize',6);
hold on;
plot(var(1),var(2),'p','markerfacecolor','g')
n=size(x,1);
for i=1:n
plot([var(1),x(i)],[var(2),y(i)],':');
end
由程序计算得出的var即为所需坐标代码,星号所示即为距离几个红点总距离最近的点。
原作:LiangZJ