大圆距离是球面上两点之间的最短距离。对于地球上的两点,通常可以使用哈弗辛公式(Haversine formula)来计算这两点之间的大圆距离。以下是用MATLAB实现的代码: ```matlab function distance = haversine(lat1, lon1, lat2, lon2) % 将角度转换为弧度 R = 6371; % 地球半径,单位:千米 dLat = deg2rad(lat2 - lat1); dLon = deg2rad(lon2 - lon1); a = sin(dLat/2).^2 + cos(deg2rad(lat1)).*cos(deg2rad(lat2)).*sin(dLon/2).^2; c = 2 * atan2(sqrt(a), sqrt(1-a)); distance = R * c; end ``` 使用这个函数时,你需要提供四个参数:第一个点的纬度(`lat1`),第一个点的经度(`lon1`),第二个点的纬度(`lat2`),以及第二个点的经度(`lon2`)。然后,函数会返回这两点之间的大圆距离(单位:千米)。 例如: ```matlab lat1 = 39.9075; % 北京的纬度 lon1 = 116.39723; % 北京的经度 lat2 = 40.7128; % 纽约的纬度 lon2 = -74.0060; % 纽约的经度 distance = haversine(lat1, lon1, lat2, lon2); fprintf('大圆距离:%.2f 千米\n', distance); ``` 注意:这个函数假设地球是一个完美的球体,实际上地球的形状更接近椭球体。对于高精度的计算,可能需要使用更复杂的模型,例如WGS84椭球模型。但对于大多数日常应用,哈弗辛公式已经足够精确。