How to find the median distance between points within an alpha shape?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I want to know the median and average distance between the points within the created alpha shape. How can I do that?
I can use pdist([x,y]) to find all posible distances and remove the values larger than the alpha, then find the median but I think it is very ineficient.
0 commentaires
Réponse acceptée
Gaurav Garg
le 26 Fév 2021
Modifié(e) : Gaurav Garg
le 26 Fév 2021
Hi Bin,
You can find distance between a query point and multiple other points in the following 2 ways -
tic;d = x-Y
a = abs(d(:,1))+abs(d(:,2));toc
tic;
for i=1:242
for j=1:2
d(i,j) = x(i,j) - Y(j)
end
b(i) = abs(d(i,1)) + abs(d(i,2))
end
toc;
Here, x is the array of 2-D points and Y is the 1-by-2 query point and you have 242 points in x.
Also, you would observe that the first way is almost 50x more efficient than the second way. This is because the first way uses vectorization, unline the second way which uses loops.
You can then apply median function to find median, or compare each distance with alpha. Note that this can also be done through vectorization.
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!