Dada la longitud y latitud de treinta regiones, ¿cómo programar la distancia entre dos de treinta regiones usando matlab?
Simplemente use la función de distancia de MATLAB Mapping Toolbox, por ejemplo (por conveniencia, aquí solo se establecen 4 puntos y 30 puntos se procesan de la misma manera):
>Se conoce la longitud y latitud de cada punto (Beijing, Shanghai, Tianjin y Chongqing en orden)
pts?=?[?...
116.46?39.92; p>
121.48?31.22;
117.20?39.13;
106.54?29.59
Forma la matriz correspondiente entre ambas (matriz simétrica, puedes solo mire el triángulo de arriba o el triángulo inferior)
[LA1, LA2]=meshgrid(pts(:,2));
[LO1, LO2]=meshgrid(pts( :,1)) ;
Calcular la distancia entre dos pares en kilómetros
R?=?distance(LA1, LO1, LA2, LO2, almanac('earth', 'wgs84 ') ); El modelo terrestre aquí utiliza el elipsoide de referencia WGS84. También puede utilizar otros elipsoides de referencia. Para obtener más información, consulte la función de almanaque.
El resultado obtenido es
gt;gt;?num2str(R,'10.2f')
ans?=
0.001066 .68108.361460.16
1066.68?0.00959.951445.81
108.36959.95?0.001440.61
1460.161445.811440.61?0.00
Como sigue como se muestra en la imagen, después de abrir el software y hacer clic en Archivo/Nuevo/Script, aparecerá la ventana de edición de archivos:
Ingrese el código en la ventana de edición de archivos, como se muestra a continuación:
Verifique el código, asegúrese de que no haya errores y haga clic en el botón Ejecutar en la ventana para ejecutar el programa (botón que se muestra con la flecha roja en la figura siguiente):
Ver los resultados de la ejecución. Dado que la función de trazado se utiliza para dibujar la curva, aparece la siguiente flecha roja después de ejecutar la curva cuadrática a la que se hace referencia: