matlab经纬度算距离
时间: 2023-07-13 20:12:10 浏览: 128
在 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 之间的距离(单位:千米)。需要注意的是,这里使用的是地球的平均半径,如果需要更精确的距离计算,可以使用更精确的地球半径值。
相关问题
matlab 经纬度计算距离
在 Matlab 中,可以使用 `distance` 函数计算两个经纬度坐标之间的距离。该函数接受四个参数:纬度和经度的向量、参考椭球体以及输出单位。以下是一个示例:
```matlab
lat1 = 40.7128; % 纬度1
lon1 = -74.0060; % 经度1
lat2 = 37.7749; % 纬度2
lon2 = -122.4194; % 经度2
% 使用 WGS84 参考椭球体计算距离,输出单位为千米
distance = distance(lat1, lon1, lat2, lon2, wgs84Ellipsoid) / 1000;
disp(distance); % 输出距离,单位为千米
```
需要注意的是,输入的经纬度需要使用度数表示,并且需要根据正负号来区分东西经和南北纬。此外,输出的距离单位可以根据具体需求进行调整。
matlab经纬度求距离
可以使用 MATLAB 自带的 `distance` 函数来计算两个经纬度坐标点之间的距离。
示例代码:
```matlab
% 定义两个经纬度坐标点
lat1 = 39.9; % 纬度1
lon1 = 116.3; % 经度1
lat2 = 31.2; % 纬度2
lon2 = 121.5; % 经度2
% 计算两点之间的距离,单位为千米
distance = distance(lat1, lon1, lat2, lon2, referenceEllipsoid('wgs84')) / 1000;
```
其中,`referenceEllipsoid('wgs84')` 表示使用 WGS84 椭球体作为参考椭球体,可以根据需要使用其他椭球体。计算结果为千米,如果需要得到其他单位的距离,可以进行单位转换。
阅读全文