Set new origin in polar coordinates

36 ビュー (過去 30 日間)
Jiong Yang
Jiong Yang 2020 年 5 月 18 日
コメント済み: Jiong Yang 2020 年 5 月 19 日
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.
  1 件のコメント
darova
darova 2020 年 5 月 18 日
Can you plot data in cartesian system?

サインインしてコメントする。

採用された回答

Ameer Hamza
Ameer Hamza 2020 年 5 月 18 日
編集済み: Ameer Hamza 2020 年 5 月 18 日
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 件のコメント
Jiong Yang
Jiong Yang 2020 年 5 月 19 日
Thank you very much, Ameer. Your anwser solves my problem!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangePolar Plots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by