matlab 求解经纬度平均距离的代码
时间: 2023-09-12 22:07:03 浏览: 80
基于matlab的遗传算法程序
以下是一种计算给定经纬度点集平均距离的MATLAB代码:
```matlab
% 经纬度点集,每一行代表一个点,第一列为经度,第二列为纬度
points = [116.3975, 39.9085;
121.4737, 31.2304;
113.2644, 23.1291;
120.1536, 30.2875;
114.3054, 30.5928;
117.2008, 39.084;
123.4315, 41.8057;
106.6306, 26.6474;
117.5546, 36.6466;
116.4074, 39.9042];
% 将经纬度转换为弧度
points_rad = deg2rad(points);
% 计算每两个点之间的球面距离(单位:km)
distances = distance(points_rad(:,2), points_rad(:,1), ...
points_rad(:,2), points_rad(:,1), ...
referenceEllipsoid('WGS 84', 'km'));
% 计算平均距离
avg_distance = mean(distances(:));
disp(['平均距离:', num2str(avg_distance), ' km']);
```
这里使用了MATLAB自带的`distance`函数计算两个点之间的球面距离,参考椭球体为WGS84。最后求取所有点对之间距离的平均值即为所求的平均距离。
阅读全文