发布网友 发布时间:2022-04-23 02:18
共2个回答
热心网友 时间:2022-04-18 18:17
直接用MATLAB地图工具箱(Mapping Toolbox)的distance函数就可以了,例如(为方便举例,这里只设置了4个点,30个点同样处理):
% 已知各点的经纬度(依次为京沪津渝四地)这里地球模型是采用的WGS84参考椭球,也可以改用其它参考椭球,具体可参考almanac函数。
得到的结果为
>> num2str(R,'%10.2f')热心网友 时间:2022-04-18 19:35
直接用MATLAB地图工具箱(Mapping Toolbox)的distance函数就可以了,例如(为方便举例,这里只设置了4个点,30个点同样处理):
已知各点的经纬度(依次为京沪津渝四地)
pts = [ ...
116.46 39.92;
121.48 31.22;
117.20 39.13;
106.54 29.59
形成两两之间对应的矩阵(对称阵,可以只看上三角或下三角)
[LA1,LA2]=meshgrid(pts(:,2));
[LO1,LO2]=meshgrid(pts(:,1));
计算两两之间的距离,单位为公里
R = distance(LA1,LO1,LA2,LO2,almanac('earth','wgs84'));这里地球模型是采用的WGS84
考椭球,也可以改用其它参考椭球,具体可参考almanac函数。
得到的结果为
>> num2str(R,'%10.2f')
ans =
0.00 1066.68 108.36 1460.16
1066.68 0.00 959.95 1445.81
108.36 959.95 0.00 1440.61
1460.16 1445.81 1440.61 0.00
如下图所示,打开软件后点击File/New/Script后,会出现文件编辑窗口:
在文件编辑窗口输入代码,如下图所示:
检查代码,确保没有错误后点击窗口中运行(Run)按钮,运行程序(如下图红色箭头所示按钮):
查看运行结果,由于利用plot函数绘制曲线,所以运行后出现如下红色箭头所指的二次曲线: