我在2D平面上有n个点。我想用c ++计算每两点之间的距离。计划中第m个点的位置是(x(m),y(m))。这指出了在通过时间的变化。时间步数等于10 ^ 5。 我写了下面的代码,但由于n是一个很大的数字(5000),我想找到点之间的距离10 ^ 5次,我正在寻找最优化的方法来做到这一点。有谁能告诉我这样做最省时的方法是什么?
for(i=1;n;++)
for(j=1;n;++)
if (i>j)
r(i,j)= r(j,i);
else
r(i,j)=sqrt((x(i)-x(j))^2+(y(i)-y(j))^2);
end
end
end
我知道,在Matlab中,我可以使用bsxfun
函数找到它。我还想知道哪一个可以更快地计算距离? Matlab还是c ++?