在已知n个点三维坐标的情况下,求每两点之间的距离。。。用matlab。。。谢谢
展开全部
首先将已知点的坐标按n*3的方式输入到矩阵P中,那么调用矩阵中的i点和j点就分别是P(i,:),P(j,:)
然后建立函数计算两点间的距离d=sqrt(sum((pt(i,:)-pt(j,:)).^2))
我试编了一个运行了下:
pt=[1 2 3;4 5 6;7 8 9;10 11 12;13 14 15];
for i=1:5
for j=1:5
d(i,j)=sqrt(sum((pt(i,:)-pt(j,:)).^2));
end
end
d
很方便找出两个点的距离,但是你要记住点的位置才行,这样才能在矩阵中寻找到。
如果说你一开始没有矩阵,之右离散的数据点,首先要构建这个矩阵可以用下列语句:
n=input('please input point number:');
for i=1:n
pt(i,1)=input('please input X coordinate:');pt(i,2)=input('please input Y coordinate:');pt(i,3)=input('please input Z coordinate:');
end
for i=1:n
for j=1:n
d(i,j)=sqrt(sum((pt(i,:)-pt(j,:)).^2));
end
end
d
对角线位置说明了同一点的距离为0,而点是按行输入的,加入找i行j列那就是i号点和j号点的距离,其实与j行i列等同。它是对称阵。
然后建立函数计算两点间的距离d=sqrt(sum((pt(i,:)-pt(j,:)).^2))
我试编了一个运行了下:
pt=[1 2 3;4 5 6;7 8 9;10 11 12;13 14 15];
for i=1:5
for j=1:5
d(i,j)=sqrt(sum((pt(i,:)-pt(j,:)).^2));
end
end
d
很方便找出两个点的距离,但是你要记住点的位置才行,这样才能在矩阵中寻找到。
如果说你一开始没有矩阵,之右离散的数据点,首先要构建这个矩阵可以用下列语句:
n=input('please input point number:');
for i=1:n
pt(i,1)=input('please input X coordinate:');pt(i,2)=input('please input Y coordinate:');pt(i,3)=input('please input Z coordinate:');
end
for i=1:n
for j=1:n
d(i,j)=sqrt(sum((pt(i,:)-pt(j,:)).^2));
end
end
d
对角线位置说明了同一点的距离为0,而点是按行输入的,加入找i行j列那就是i号点和j号点的距离,其实与j行i列等同。它是对称阵。
长荣科机电
2024-10-27 广告
2024-10-27 广告
直角坐标机器人,作为深圳市长荣科机电设备有限公司的明星产品之一,以其高精度、高稳定性在自动化生产线上发挥着关键作用。该机器人采用直线电机或精密导轨驱动,能在电商平台Y、Z三个直角坐标轴上实现精准定位与运动控制,广泛应用于电子装配、包装、检测...
点击进入详情页
本回答由长荣科机电提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询