У меня есть таблица 71x4, которая представляет: название какой-либо климатической станции и соответствующую широту, долготу и высоту.
В этом списке я хочу найти ближайшую точку вместе. Я имею в виду, что на выходе я хочу иметь одну ближайшую станцию для каждых 71 имеющейся у меня станции. Я хочу использовать евклидово расстояние. Я поделился coordinates.mat
здесь, на Google Диске
ОБНОВЛЕНИЕ Вот мой код. Я думаю, было бы здорово, если бы я мог запустить свой код для одной станции, а затем использовать для l oop его обобщение. У меня есть названия некоторых станций и соответствующие широта, долгота и высота. Я хочу найти ближайшие станции. Фактически для каждой строки мне нужно вычислить расстояние до всех остальных строк и выбрать ту, которая имеет наименьшее расстояние.
Ahvaz = coordinates{5,{'lat','lon','station_elevation'}};
coordinates(5,:)=[]
All = coordinates{:,{'lat','lon','station_elevation'}};
distances = sqrt(sum(bsxfun(@minus, All, Ahvaz).^2,2));
closest = All(distances==min(distances),:);
Я не знаю, как его оптимизировать. каждый раз, когда я хочу go перейти к следующей станции, я должен вручную изменить этот код и посмотреть список координат, чтобы найти название ближайшей станции. Как видите, я не профессионал. Я хочу сделать это для моей области исследований, которая является управлением водными ресурсами, и я не специализируюсь на коде Matlab.