User defined distance function
Afficher commentaires plus anciens
I'm try to calculate spherical distance between two points.
The formula is
D=R*arccos[cos(b1)*cos(b2)*cos(a1-a2)+sin(b1)*sin(b2)]
and two points' latitude is b1,b2 and its longitude is a1,a2.
I would use pdist calculate many points,but i not very well understood it. It's someone help me? Thanks a lot!
Réponses (1)
Walter Roberson
le 8 Mai 2018
R = 6371000 %meters
distfcn = @(p1, p1) R * acos(cos(p1(1))*cos(p2(1))*cos(p1(2)-p2(2)) + sin(p1(1))*sin(p2(1)));
latlong = [lagitudes(:), longitudes(:)];
distances = pdist(latlong, distfcn);
1 commentaire
zicheng li
le 9 Mai 2018
Modifié(e) : zicheng li
le 9 Mai 2018
Catégories
En savoir plus sur Classification Learner App dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!