我有n个点在k维空间中(n由k个矩阵的数据点)。另外,我有一对长度为d的点对列表(列表矩阵的维数为d乘以2)。
我的目标是在长度为d的向量中找到该列表中每对点之间的欧几里德距离。
在MATLAB中为长列表执行此操作的最快方法是什么?你认为使用C ++ / python可能会有很多加速吗?
答案 0 :(得分:0)
A = [22 44];
B= [44 66];
tic
distAB = sqrt((A(1)-B(1))^2+(A(2)-B(2))^2)
toc
distAB =
31.1127
Elapsed time is 0.004398 seconds.
嗯,MATLAB非常快。只需制作一个for循环并随着时间的推移更新您的积分。
您的代码应该是这样的:
for i=1:length(d)-1
distAB(i)=sqrt((d(1,i+1)-d(1,i))^2+(d(2,i+1)-d(2,i))^2)
end