matlab经纬度算距离
时间: 2023-07-13 16:12:10 浏览: 117
在 MATLAB 中,可以使用 `distance` 函数来计算两个经纬度之间的距离。例如,假设有两个点 A 和 B,它们的经纬度分别为:
A: 纬度 39.9075 度,经度 116.3972 度
B: 纬度 31.2304 度,经度 121.4737 度
则可以使用以下代码计算它们之间的距离:
```matlab
lat1 = 39.9075; % 点 A 的纬度
lon1 = 116.3972; % 点 A 的经度
lat2 = 31.2304; % 点 B 的纬度
lon2 = 121.4737; % 点 B 的经度
R = 6371; % 地球半径(单位:千米)
delta_lat = deg2rad(lat2 - lat1); % 纬度差(单位:弧度)
delta_lon = deg2rad(lon2 - lon1); % 经度差(单位:弧度)
a = sin(delta_lat/2)^2 + cos(deg2rad(lat1)) * cos(deg2rad(lat2)) * sin(delta_lon/2)^2;
c = 2 * atan2(sqrt(a), sqrt(1-a));
distance = R * c; % 计算距离(单位:千米)
```
最终得到的 `distance` 就是点 A 和点 B 之间的距离(单位:千米)。需要注意的是,这里使用的是地球的平均半径,如果需要更精确的距离计算,可以使用更精确的地球半径值。
阅读全文