Borrar filtros
Borrar filtros

Cartesian to polar sorting

2 visualizaciones (últimos 30 días)
Suhas Deshpande
Suhas Deshpande el 1 de Jul. de 2011
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 ?

Respuesta aceptada

Matt Fig
Matt Fig el 1 de Jul. de 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],:)
  1 comentario
Suhas Deshpande
Suhas Deshpande el 1 de Jul. de 2011
For some reason I am not able to convert the sorted polar coordinates to Cartesian
[x,y] = pol2cart(M(:,1),M(:,2))
or
[x,y] = pol2cart(theta,rho)
gives an error
Error: Unexpected MATLAB operator.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Dates and Time en Help Center y File Exchange.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by