distance between randomly selected nodes
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
rem ng
le 18 Mar 2019
Réponse apportée : Walter Roberson
le 18 Mar 2019
for i=1:1:n
temp_rand=rand;
if(temp_rand<= some condition)
count_n=count_n+1;
S(i).type='C';
C(cc).xd=S(i).xd;
C(cc).yd=S(i).yd;
plot(S(i).xd,S(i).yd,'*');
cc=cc+1;
In the above code some nodes are selected from randomly distributed nodes which satisfy the temp_rand condition. Please anyone help me how to find out distance between these randomly nodes only.
2 commentaires
Geoff Hayes
le 18 Mar 2019
rem - so you want to find the distances between all nodes in the C matrix? Or do you want to find the distance between a different set of nodes?
Réponse acceptée
Walter Roberson
le 18 Mar 2019
xt = [CC.xd]; yt = [CC.yd];
distances = squareform( pdist([xt(:), yt(:)]) );
0 commentaires
Plus de réponses (1)
Geoff Hayes
le 18 Mar 2019
rem - wouldn't the distances be calculated something like the following
distancesBetweenNodes = zeros(length(C)); % square matrix
for k = 1:length(C)
for j = k+1:length(C)
dist = sqrt((C(k).xd - C(j).xd)^2 + (C(k).yd - C(j).yd)^2); % use your own distance measure here
distancesBetweenNodes(k,j) = dist;
distancesBetweenNodes(j,k) = dist; % matrix is symmetric
end
end
Voir également
Catégories
En savoir plus sur Statistics and Machine Learning Toolbox 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!