地區編程
發布時間: 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
熱點內容