プロが教えるわが家の防犯対策術!

MATLABを用いて極座標表示するpolarとpauseを用いて簡易的なアニメーションを作っています。その際、半径RHOの大きさによって、軸のスケールが変わってしまい、どうしても見づらくなってしまいます。
plotをaxisでスケールを固定するような操作を、polarの場合はどのようにして行うことが出来るか、ご存知の方は教えてください。

以下に例を示しておきます。

t = 0:.01:2*pi;
for n=1:50
A=polar(t,n*sin(2*t).*cos(2*t));
caxis([0 50])
pause(0.01)
end

A 回答 (3件)

No1の方が無理ではないかとご指摘ですので、私からもひとつ助言させて頂ければと


存じます。
なお、私は現在Matlabの実行環境を持っておりませんので、参考意見の参考(?)程度と
して頂ければ幸いです。
私として、スケールを固定することは極形式でも可能ではないかと思っております。
get/set関数の使用方法をご存知でしょうか?
axisオブジェクトのオブジェクトハンドルで、軸の(最大値・最小値)プロパティを
セットするといった方法です。
先にも言いましたが、Matlab環境が無いので具体的な方法をご提示できなくて、
申し訳ありませんが、例えば
  set(gca,
等のキーワードでWEB検索していただければ、情報が見つかるのではないかと思います。
get/set関数に関して、ご存知の場合は無かったことにしてください。

下記URLもご参照ください。
http://dl.cybernet.co.jp/matlab/support/manual/r …
    • good
    • 0
この回答へのお礼

大変丁寧なご回答有難うございました、勉強して、get/set関数なんとかをつかいこなせるよう頑張ってみます。

お礼日時:2007/04/19 02:08

get/set関数をご利用になっておられなかったということでしたので、


追記させていただきました。

例えば、
  set(gca,'YLimMode','Manual');
と設定すると、アクティブグラフのY軸の伸縮が固定されると思います。
ここで、'YLimMode'や'Manual'のプロパティ名をどうやって調べるのか、
というひとつの方法です。

コマンドウィンドウで
  guide
と入力してください。
すると、GUIのデザインウィンドウとともに、プロパティウィンドウも同時に
起動すると思います。(とりあえずデザインウィンドウは無視します)

そして、操作したいグラフの所望の軸を選択すると、プロパティウィンドウの内容が
選択した軸のプロパティと現在の設定値に更新されると思います。
その項目の'YLimMode'プロパティを'Manual'に手作業で変更する操作が、
当初示したset関数によるコードになるということです。


MatlabでGUI+get/setを駆使すれば、オリジナルのfigureを実装することも
可能になります。
私は、Matlab使用開始当初、Matlabで画像処理アプリケーションを
作成しようと思っていたのですが、GUIの見た目はC++,Java相当のものが作成
可能でしたが、イベント処理等が思い通りに行かなかったので
Matlabそのものから離れていってしまいました。

要するに、一般的なプログラミング言語で実装できるような操作は、
ほぼMatlabでもできて、”Matlabでは出来ないのかな?”と諦めてしまう
機能の殆どは探究心が足りないからだと思われます。
Matlabを諦めた私がこんなことを言っても説得力が...(^^;
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます。
HarukaV49さんの意見を参考にしてオリジナルのfigureを作ってみたいと思います。
貴重な意見ありがとうございました。

お礼日時:2007/04/20 21:00

無理だと思います.


たとえば,(0,30) に無理矢理点を打つとかすれば,
範囲は固定できますが

t = 0:.01:2*pi;
for n=1:50
polar(0,30,'.');
hold on;
A=polar(t,n*sin(2*t).*cos(2*t));
hold off;
pause(0.01)
end
    • good
    • 0
この回答へのお礼

ご回答有難うございます、早速参考にさせていただき、多少無理やり感はありますが、何とか軸を固定することができとても助かりました。

お礼日時:2007/04/19 02:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!