matlab经纬度求距离
时间: 2023-09-08 08:10:32 浏览: 271
可以使用 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 椭球体作为参考椭球体,可以根据需要使用其他椭球体。计算结果为千米,如果需要得到其他单位的距离,可以进行单位转换。
相关问题
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可以通过Haversine公式来计算两个地理位置之间的距离,该公式使用经纬度来计算两点之间的直线距离。以下是使用Haversine公式计算两个地理位置之间距离的示例代码:
```
function [distance] = haversine(lat1,lon1,lat2,lon2)
% 将经纬度转换为弧度
lat1 = lat1*pi/180;
lon1 = lon1*pi/180;
lat2 = lat2*pi/180;
lon2 = lon2*pi/180;
% Haversine公式计算两个点之间的距离
dlon = lon2-lon1;
dlat = lat2-lat1;
a = sin(dlat/2)^2 + cos(lat1)*cos(lat2)*sin(dlon/2)^2;
c = 2*atan2(sqrt(a),sqrt(1-a));
R = 6371; % 地球半径,单位为千米
distance = R*c; % 单位为千米
end
```
在上面的代码中,输入参数分别为起点和终点的经纬度,单位为度。输出结果为两点之间的距离,单位为千米。
阅读全文