Matlab中,已知两组点坐标,求遍历形式下两组坐标点的距离
比如A=[1:4;2:5]%每个列向量为一个点,A有4个点B=[1:3;0:2]%B有3个点我想求得A中的A1、A2、A3、A4分别到B1的距离,然后A1、A2、A3、A...
比如A=[1:4;2:5] %每个列向量为一个点,A有4个点
B=[1:3;0:2] %B有3个点
我想求得 A中的 A1、A2、A3、A4分别到B1的距离,然后 A1、A2、A3、A4分别到B2的距离,A1、A2、A3、A4分别到B3的距离 展开
B=[1:3;0:2] %B有3个点
我想求得 A中的 A1、A2、A3、A4分别到B1的距离,然后 A1、A2、A3、A4分别到B2的距离,A1、A2、A3、A4分别到B3的距离 展开
2个回答
展开全部
A=permute(A,[1 3 2]);%预处理,交换A的第二维和第三维,将A改为2*1*4三维数组
distance_vector=A-B;%得到2*3*4三维数组,第一维即各个距离向量,参见手册“基本运算的兼容数组大小”
distance_3D=vecnorm(distance_vector);%第一个维度各向量的模,即距离,得到1*3*4三维数组
distance=squeeze(distance_3D);%压缩不必要的长度为1的第一维,得到3*4二维数组
distance_vector=A-B;%得到2*3*4三维数组,第一维即各个距离向量,参见手册“基本运算的兼容数组大小”
distance_3D=vecnorm(distance_vector);%第一个维度各向量的模,即距离,得到1*3*4三维数组
distance=squeeze(distance_3D);%压缩不必要的长度为1的第一维,得到3*4二维数组
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询