MATLAB将已知坐标的80个点标号,然后连接相邻点,并计算相邻点距离 5
这几天我正在琢磨相关的事,你的问题思路是这样的:先将80个点的坐标输入,合成一个大的矩阵,再将相邻点用线段连接起来,最后计算相邻点的距离。下面我举一个有10个坐标点的例子,程序如下:
clear all
clc
%% 输入坐标点
x1=[1000,2711]; x2=[1210,2770]; x3=[1241,2610];x4=[1499,2528];x5=[1500,2482];
x6=[1770,2180]; x7=[1790,2155];x8=[1333,2175];x9=[1140,2100];
x10=[950,2230];
x=[x1;x2;x3;x4;x5;x6;x7;x8;x9;x10];
%% 用线段连接相邻两点
figure('Name','Point-Line');hold on;
m=length(x);
for i=1:m-1
plot([x(i,1),x(i+1,1)],[x(i,2),x(i+1,2)],'bo','LineWidth',2);
plot(x(:,1),x(:,2),'r-','LineWidth',2);
end
%% 计算相邻两点之间的欧式距离,并显示距离矩阵
distances=zeros(m-1,m);
for i=1:m-1
distances(i,i+1)=sqrt((x(i+1,1)-x(i,1))^2+(x(i+1,2)-x(i,2))^2);
end
distances