本站所有资源均为高质量资源,各种姿势下载。
你可以使用Haversine公式来计算两点间的距离,该公式可以通过地球表面上两点的经纬度计算它们之间的大圆距离。下面是一个用MATLAB编写的计算两点间距离的示例代码:
function distance = haversineDistance(lat1, lon1, lat2, lon2)
R = 6371; % 地球平均半径,单位为千米
dLat = deg2rad(lat2 - lat1);
dLon = deg2rad(lon2 - lon1);
a = sin(dLat/2) * sin(dLat/2) + cos(deg2rad(lat1)) * cos(deg2rad(lat2)) * sin(dLon/2) * sin(dLon/2);
c = 2 * atan2(sqrt(a), sqrt(1-a));
distance = R * c;
end
在这个示例中,lat1
和lon1
分别是第一个点的纬度和经度,lat2
和lon2
分别是第二个点的纬度和经度。haversineDistance
函数将返回两点之间的距离,单位为千米。
请记住,这个函数假设地球是一个完美的球体,因此对于较长的距离来说,结果可能会略有偏差。如果你需要更高精度的计算,可以考虑使用Vincenty公式或其他更复杂的计算方法。
你可以调用这个函数并传入你的经纬度数据来计算两点间的距离,例如:
distance = haversineDistance(40.7128, -74.0060, 34.0522, -118.2437);
disp(distance); % 显示两点之间的距离
这将计算纽约市和洛杉矶之间的大圆距禿。