d=distance(55.7522,37.6156,51.7373,36.1873) % Мск Курск
disp(d)

function rad = radians(degree) % градусы в радианы 
rad = degree .* pi / 180;
end

function out=distance(fiA,LA,fiB,LB) % расстояние по координатам
% cos(d) = sin(φА)·sin(φB) + cos(φА)·cos(φB)·cos(λА − λB),
% где φА и φB — широты, λА, λB — долготы данных пунктов, 
% d — расстояние между пунктами, измеряемое в радианах длиной дуги 
% большого круга земного шара.
fiA=radians(fiA);
LA=radians(LA);
fiB=radians(fiB);
LB=radians(LB);
d = acos(sin(fiA)*sin(fiB) + cos(fiA)*cos(fiB)*cos(LA-LB));% 
% Расстояние между пунктами, измеряемое в километрах,
% определяется по формуле:
% L = d·R,
% где R = 6371 км — средний радиус земного шара.
out=d*6371;
end
