Hi, I have a set of data in polar coordinates (r, theta). The default origin for matlab is (0,0). How I can change the origin to other points, such as (0,3)?
Thanks a lot.

 Réponse acceptée

Ameer Hamza
Ameer Hamza le 18 Mai 2020
Modifié(e) : Ameer Hamza le 18 Mai 2020
One of the easiest ways I can think of is to convert the points from polar to cartesian, do the translation, and then convert back to polar. For example
r = 1;
theta = linspace(0, 2*pi, 100);
translate = [0 3];
x = r*cos(theta) + translate(1);
y = r*sin(theta) + translate(2);
r_trans = hypot(y, x);
theta_trans = atan2(y, x);
polarplot(theta_trans, r_trans)
Original:
Translated:

1 commentaire

Jiong Yang
Jiong Yang le 19 Mai 2020
Thank you very much, Ameer. Your anwser solves my problem!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Polar Plots dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by