measure distance between mutiple positions without looping
Afficher commentaires plus anciens
I have two arrays of XYZ positions data, Spots1 and Spots2. Code below loops though each Spot2 position and measures the distance to each Spots1 subtracted by radius of Spots2.
for vIndex1= 1:size(Spots2,1)
vDist(:,vIndex1) = (sqrt((Spots1(:,1)-Spots2(vIndex1,1)).^2 + (Spots1(:,2)-Spots2(vIndex1,2)).^2))-Radius2(vIndex1);
end
vLimit=min(vDist,[],2);% find minimum value for each row for each dendrite position
vIsClose(vSpotsIndex1) = vLimit < vDistanceLimit;
I am looking for a way to do this without the for loop. My ultimate goal is to find minimum distance measure for each Spots1 position. And if it is less than a set value, to create an array of those spot positions.
There are similar answers, but nothing exactly what i am looking for. Any help would be appreciated. Thank you.
Réponse acceptée
Plus de réponses (1)
Image Analyst
le 1 Oct 2015
0 votes
If you have the stats toolbox, try pdist().
1 commentaire
Matthew
le 1 Oct 2015
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!