Azzera filtri
Azzera filtri

Finding a distance between two cities with matlab codes

3 visualizzazioni (ultimi 30 giorni)
I have a lattitude and longitude information of two cities, and i want to find the distance between them, how can i do it with matlab? i made with pdist command which computes the euclidean distance, but after i noticed that it would be wrong because of the shape of the world.

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 6 Ago 2012
Modificato: Andrei Bobrov il 6 Ago 2012
use Mapping Toolbox
eg:
citys1 - lattitude and longitude in degrees of Saint-Petersburg;
citys2 - lattitude and longitude in degrees of Vladivostok;
citys1 = [59.946071,30.363464];
citys2 = [43.126045,131.904602];
a = distance(citys1,citys2);
out = deg2km(a);
without Mapping Toolbox
R = 6371; % km - radius of the Earth;
A = abs(citys1(2)-citys2(2));
c = 90-citys1(1);
b = 90-citys2(1);
a2 = acos(cosd(b)*cosd(c) + sind(b)*sind(c)*cosd(A));
out2 = R*a2;

Più risposte (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by