无人机送药问题
一、题目
医药公司采用无人机向200个医疗点配送药物,无人机携带药物从公司起飞,将药物送到每个医疗点,最后再返回公司。现在已知医药公司和200个医疗点的位置坐标,且无人机在2个地点间均为直线飞行,请帮助医药公司设计一条最短送药线路,并画出线路图。
注:已知医药公司直角坐标为(0,0),200个医药点的直角坐标见excel数据文件。
二、matlab代码
clc, clear
sj0=xlsread('data.xlsx'); %加载200个目标的数据data.xlsx中
x=sj0(:,1);x=x(:); %提取横坐标
y=sj0(:,2);y=y(:); %提取纵坐标
sj=[x y]; d1=[0,0]; %表示每个目标以及出发点的坐标
sj=[d1;sj;d1]; %第一个坐标和最后一个坐标是(0,0)
d=zeros(202); %距离矩阵d初始化
for i=1:201
for j