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

以下のコードで極座標にコンターをプロットしました。この動径部分を対数分布にしたいのですが、やり方が分かりません。 アドバイス頂けたら幸いです。よろしくお願いします。必ずしも以下の様なやり方でなくとも構いません。 図としでは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일

0 개 추천

残念ながら関数の設定などで直接変更することはできなそうです。 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개)

카테고리

질문:

2018년 9월 23일

댓글:

2018년 10월 5일

Community Treasure Hunt

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

Start Hunting!