User defined distance function
显示 更早的评论
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!
回答(1 个)
Walter Roberson
2018-5-8
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 个评论
zicheng li
2018-5-9
编辑:zicheng li
2018-5-9
类别
在 帮助中心 和 File Exchange 中查找有关 Classification Learner App 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!