From 662d9d65b2427b99e4fe743bef63e077d5078c7e Mon Sep 17 00:00:00 2001 From: Elian Dib <elian.di@laposte.net> Date: Wed, 21 Aug 2019 11:52:34 +0200 Subject: [PATCH] Added function to sort elements by increasing distance then angle --- sort_dist_angle.m | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 sort_dist_angle.m diff --git a/sort_dist_angle.m b/sort_dist_angle.m new file mode 100644 index 0000000..40d9910 --- /dev/null +++ b/sort_dist_angle.m @@ -0,0 +1,29 @@ +function [sig,order] = sort_dist_angle(dist,angle) +%SORT_DIST_ANGLE Summary of this function goes here +% Detailed explanation goes here + +sz = size(dist); + +[~,sig] = sort(dist(:)','ascend'); + +dist = dist(sig); +angle = angle(sig); + +for cur_dist = unique(dist) + cur_ind = dist==cur_dist; + + sig_cur_ind = sig(cur_ind); + dist_cur_ind = dist(cur_ind); + angle_cur_ind = angle(cur_ind); + + [~,cur_sig] = sort(angle_cur_ind,'ascend'); + + sig(cur_ind) = sig_cur_ind(cur_sig); + dist(cur_ind) = dist_cur_ind(cur_sig); + angle(cur_ind) = angle_cur_ind(cur_sig); +end + +order = zeros(sz); +order(sig) = 1:numel(dist); + +end \ No newline at end of file -- GitLab