例:
% some random 2D points coordinates
xy = rand(10,2);
% zero-centered
xy_ = bsxfun(@minus, xy, mean(xy));
% compute angles
theta = atan2(xy_(:,2), xy_(:,1));
% sort points clockwise
[~,ord] = sort(theta, 'descend');
xy = xy(ord,:);
% plot newly arranged points and labels
scatter(xy(:,1), xy(:,2), 'filled')
text(xy(:,1), xy(:,2), num2str((1:10)'), 'VerticalAlign','bottom')
% show radius lines
cx = zeros(2,size(xy,1));
cy = zeros(2,size(xy,1));
cx(1,:) = mean(xy(:,1)); cx(2,:) = xy(:,1);
cy(1,:) = mean(xy(:,2)); cy(2,:) = xy(:,2);
line(cx, cy)

atan2
間隔で反時計回りに角度を返すことに注意してください: [-pi,pi]
. これは実際にはcart2pol
関数でも使用されます (ソース コードを表示)。