極座標で動径を対数分布にする方法

2 次查看(过去 30 天)
Takaki Fujii
Takaki Fujii 2018-9-23
以下のコードで極座標にコンターをプロットしました。この動径部分を対数分布にしたいのですが、やり方が分かりません。 アドバイス頂けたら幸いです。よろしくお願いします。必ずしも以下の様なやり方でなくとも構いません。 図としではdataAが角度(0~360°)、dataBの値を動径の幅としdataCをコンターにしています。(結果として添付の図になります。図の0.1~0.5の部分を対数分布にしたいです)
h=polar([min(dataA) max(dataA)],[min(dataB) max(dataB)]);
delete(h);
hold on;
[theta, rho] = dataA((dataA*pi/180), dataB);
[X, Y] = pol2cart(theta, rho);
contour(X,Y,dataC,'Levelstep',0.1)
set(gca,'YScale','log')
hold off;

采纳的回答

Hirokazu Tanaka
Hirokazu Tanaka 2018-10-2
残念ながら関数の設定などで直接変更することはできなそうです。 dataB を事前に対数変換しておいてプロットするか・・。
下記の関数が File Exchange にありましたが、この関数では動径方向を対数でプロットできそうです。 https://jp.mathworks.com/matlabcentral/fileexchange/38855-comprehensive-polar-plots
  2 个评论
Takaki Fujii
Takaki Fujii 2018-10-5
ご回答ありがとうございます。ご指摘いただいたFile ExchangeとdataBの対数変換を行いプロットしたところ、コンターをは対数分布させることが出来ました。誠にありがとうございます。 しかし、関数を見たのですがいまいち動径を対数分布にさせる方法が分かりません。もしこのFile Exchangeの関数にお詳しいようであれば教えていただけないでしょうか。 (dataBを対数分布に変換したところ添付のような画像になりました。このプロット自体は合っていると思います。)
Hirokazu Tanaka
Hirokazu Tanaka 2018-10-5
すいません、"Includes log radius support." と冒頭にあったので紹介したのですが、コードを見てもそれらしい部分がみられないですね・・

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!