Cartesian to polar sorting
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I converted a set of coordinates from Cartesian to polar form
[rho,theta] = cart2pol(x,y);
Next I sorted the polar coordinates
theta_ascend = sort(theta,'ascend');
As in the case of any polar system I will have multiple values of rho for one value of theta. For every value of theta I want to select the maximum value of rho and reject the other values.
for e.g If my values are
theta = 3.14 3.14 3.14 3.13 3.13 3.12 3.12 3.12 . . . rho = 12 15 6 3 5 8 2 11 . . .
I want my output to be theta = 3.14 3.13 3.12 . . . rho = 15 5 11 . . .
Please suggest ?
0 Kommentare
Akzeptierte Antwort
Matt Fig
am 1 Jul. 2011
As an example:
% First some data to work with:
thet = round(rand(1,10)*3)
r = round(rand(1,10)*30)
% Now match the largest r per unique thet:
M = sortrows([thet.',r.']);
M = M([logical(diff(M(:,1)));true],:)
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Dates and Time finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!