地区编程
发布时间: 2024-03-15 08:20:45
1. 已知三十个地区的经纬度,用matlab怎么编程求出这三十个地区两两之间的距离,会的帮忙编下程序代码
直接用MATLAB地图工具箱(Mapping Toolbox)的distance函数就可以了,例如(为方便举例,这里只设置了4个点,30个点同样处理):
%已知各点的经纬度(依次为京沪津渝四地)
pts=[...
116.4639.92;
121.4831.22;
117.2039.13;
106.5429.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.001066.68108.361460.16
1066.680.00959.951445.81
108.36959.950.001440.61
1460.161445.811440.610.00
热点内容