ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

MATLABコミュのボード線図のプロパティ変更について

  • mixiチェック
  • このエントリーをはてなブックマークに追加
初めまして、制御工学を学んでいるものです。
MATLABはココ半年間使って少しは慣れたのですがわからないことがあったので質問させていただきます。

MATLABではデフォルトのフォントが小さすぎて自分で変えないといけないのは周知の事実ですが、
plotで図を描いたときは

set(gca,'linewidth',2.0)

等でProperty値を変えれますが、
bode線図ではどうやればいいのかわかりません。

ちなみにボード線図は
bode(G)
でかいており、semilogxとかで書いていません。

gcaでは1つ(下の位相図)のみしか変更できなくて、
おそらくaxesのハンドルを2つとってこないといけないんでしょうけど、そのとり方もわからず困っています。

また、bodeで描いたあとにsaveするとタイトルの「Bode diagram」とx軸「Frequency」が消えてしまうのは僕だけでしょうか。

以上どなたか分かる方がいらっしゃったら返答のほうよろしくお願いします。
Property値を変えるm-fileを作成した方なんかいらっしゃったらソースなんかのせてくれるとありがたいです。

コメント(5)

plotに関しては下のようなm-fileを作成しています

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
load fig

figure(1)
plot(fig(1,:),fig(2,:),'r','LineWidth',2.0)
hold on;
zoom on;
grid on;

set(gca,'fontsize',12);

Fs=18;
xlabel('Time [sec]','fontsize',Fs);
ylabel('Response','fontsize',Fs);
title('Output','fontsize',Fs);

legend('obserbed value')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

また質問で申し訳ないんですけど、
legendの初期位置は右上ですけど、変えることはできないんでしょうか?ステップ応答を描くと必ずかぶるので。
>legendの初期位置は右上ですけど、変えることはできないんでしょうか?

legend(...,'Location',location)
で位置を設定できますよ。
ヘルプで'legend'を検索すれば詳しく書いてありますよ。
おかべっちさん、お答えありがとうございました。
今確認したところ確かにlegendヘルプに書いてありました(^^;;;
>gcaでは1つ(下の位相図)のみしか変更できなくて、

bodeで作成した図をカレントにして、
get(gcf,'Children')
とすると、ゲインと位相のaxisのIDを入手できます。

ですから、
ld=get(gcf,'Children');
set(ld(1),'Fontsize',10);
set(ld(2),'Fontsize',10);
とか、
ylabelに関しては
set(get(ld(1),'YLabel'),'Fontsize',10);
set(get(ld(2),'YLabel'),'Fontsize',10);
とすれば、Y軸のラベルを大きくすることは可能です。

#単純にゲインや位相のグラフを一度クリックすると、
#gcaが更新されるから、マウスでクリックするのも手。


ただし、困ったことに、X軸やタイトルのオブジェクトは不明です。
以前、Ver6.5の頃に探したけど見つからなかった。
>bodeで描いたあとにsaveするとタイトルの「Bode diagram」と
>x軸「Frequency」が消えてしまうのは僕だけでしょうか。
saveは使用したことないですが、これも同じ理由かもしれませんね。

私は、上記なことがあったので、
bodeコマンドを使わずに、subplotで書いています。
ただし、毎回書くのは面倒なので、bodehz等という妖しげな関数を作ってます。
お答えありがとうございました。返信遅れてすみません。
僕もあれからいろいろ調べて、'allchild'でfigure全てのハンドルとれることに気づいたのですが、それを用いて
xlabel(h,'Time[sec]')とはできないようでした(^^;;;

おっしゃるとおり、マウスクリックでやるか、もしくはAxesエディタでやったほうが結果的に早いような気がしました。

>私は、上記なことがあったので、
>bodeコマンドを使わずに、subplotで書いています。
>ただし、毎回書くのは面倒なので、bodehz等という妖しげな関数を作ってます。
やはりsubplotの方がいいんでしょうかねー。
bodehzですか?それは聞いたことないので探して試してみたいと思います。
bodeでフォントやらなにやらちゃんとしてくれればよかったんですけどね・・・

以上で問題点の答えは出尽くしたと思います。アドバイスをくれたおかべっちさんとうさん、ありがとうございます。
なお、僕はver6.5なのでもしかしたらこの問題点は改善されているのかもしれません。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

MATLAB 更新情報

MATLABのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング