メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

コマンド ラインでの線形解析プロットのカスタマイズ

線形解析応答プロットを作成した後、チャート オブジェクトを使用してプログラムでプロットのプロパティを編集できます。応答プロットのプロパティをプログラムで編集することで次のことが可能です。

  • バッチ解析プロセスで多数のプロットを効率的にカスタマイズする。

  • 応答プロットを UI に追加し、プロットの外観をユーザー入力に基づいて更新する。

以下を使用して応答プロットの個々のプロパティを対話形式で変更することもできます。

チャート オブジェクト

応答プロットをプログラムでカスタマイズするには、次の表のいずれかのプロット関数を使用してプロットを作成する必要があります。それぞれの関数により、ドット表記を使用してプロパティを変更できるチャート オブジェクトが返されます。

プロット タイプ

プロット関数

チャート オブジェクトのプロパティ

ボードの振幅と位相

bodeplotBodePlot Properties

ハンケル特異値

hsvplotHSVPlot Properties

インパルス応答

impulseplotImpulsePlot Properties

初期条件

initialplotInitialPlot Properties

入力/出力の組み合わせに対する極/零点配置図

iopzplotIOPZPlot Properties

任意の入力に対する時間応答

lsimplotLSimPlot Properties

ニコルス線図

nicholsplotNicholsPlot Properties

ナイキスト

nyquistplotNyquistPlot Properties

極/零点

pzplotPZPlot Properties

根軌跡

rlocusplotRLocusPlot Properties

周波数応答の特異値

sigmaplotSigmaPlot Properties

ステップ応答

stepplotStepPlot Properties

応答プロットのプロパティを指定する方法の詳細については、対応するチャート オブジェクトのプロパティを参照してください。チャート オブジェクトのプロパティを変更することで、プロットの次のような特徴をカスタマイズできます。

  • タイトルや軸ラベルのテキストとフォントの外観

  • 軸の範囲と単位

  • 応答の外観 (ラインの色、スタイル、太さなど)

  • 時間ベクトルまたは周波数ベクトル

  • グリッドの可視性と色

  • MIMO プロットの入力と出力の可視性

  • 表示する応答の特性 (立ち上がり時間や安定余裕など)

addResponse を使用して既存のプロットに応答を追加したり、ドット表記を使用して応答に関連付けられたモデルを変更したりすることもできます。

線形解析プロットの外観のカスタマイズ

線形システムの応答をプロットしたら、ドット表記を使用してプロットの外観を変更できます。例として、伝達関数モデルのステップ プロットを作成します。

sys = tf(4,[1 0.5 4]);
sp = stepplot(sys);

MATLAB figure

プロットの外観をカスタマイズするには、ドット表記を使用してチャート オブジェクト sp のプロパティを変更します。たとえば、応答のラインの色と幅を変更します。

sp.Responses.Color = "black";
sp.Responses.LineWidth = 2;

MATLAB figure

プロットの単位を変更することもできます。既定では、ステップ応答にはプロットされた線形システムの時間単位が使用されます。sys の時間単位は秒です。プロットの単位を分に変更します。

sp.TimeUnit = "minutes";

MATLAB figure

"x" 軸ラベルが単位の変更を反映するように更新されます。プロットの単位を変更しても、基となるモデルの時間単位は変更されません。モデルの時間単位を変更するには、応答のプロット前に変更します。

プロットのタイトルやプロットの軸ラベルも変更できます。たとえば、タイトルのテキストを変更し、タイトルのフォント サイズを大きくし、座標軸のラベルを太字にします。

sp.Title.String = "Step Plot";
sp.Title.FontSize = 16;
sp.XLabel.FontWeight = "bold";
sp.YLabel.FontWeight = "bold";

MATLAB figure

プロット タイプに応じて、応答の特性を構成してプロットに表示できます。たとえば、ステップ プロットに整定時間を表示します。

sp.Characteristics.SettlingTime.Visible = "on";

MATLAB figure

線形モデルの応答の変更と追加

応答プロットを作成したら、線形システムのプロパティを変更してプロットを更新できます。これは、変化するモデル パラメーターの影響を調べたり、UI でユーザー入力に基づいて応答プロットを更新したりする場合に便利です。

例として、状態空間モデルのボード応答について考えます。

sys = ss([-4.5 -6;0.6 0.7],[0;-1.5],[-1.1 0],-0.5);
bp = bodeplot(sys);

MATLAB figure

応答のソース データを変更してプロットの線形システムを変更できます。たとえば、D 行列をゼロに設定することで、プロットされた状態空間モデルの直達成分を削除します。

bp.Responses.SourceData.Model.D = 0;

MATLAB figure

応答プロットのモデルを新しいモデル オブジェクトに置き換えることもできます。たとえば、減衰比 zeta の 2 次動的システムについて考えます。

zeta = 0.5;
wn = 2;
sys2 = tf(wn^2,[1 2*zeta*wn wn^2]);

このシステムのステップ応答をプロットします。

sp = stepplot(sys2);

MATLAB figure

新しい伝達関数モデルを作成し、モデルのソース データを置き換えることで、モデルの減衰比を更新できます。

newZeta = 0.75;
sys3 = tf(wn^2,[1 2*newZeta*wn wn^2]);
sp.Responses.SourceData.Model = sys3;

MATLAB figure

addResponse 関数を使用して既存のプロットに応答を追加することもできます。たとえば、sys2 のステップ応答を作成し、続いて sys3 の応答を追加します。

sp2 = stepplot(sys2);
addResponse(sp2,sys3);
sp2.LegendVisible = "on";

MATLAB figure

複数の応答を含むプロットがある場合、対応する応答をチャート オブジェクトから削除せずに 1 つ以上のプロットを非表示にできます。たとえば、プロットで 2 番目の応答を非表示にします。

sp2.Responses(2).Visible = "off";

MATLAB figure

参考

トピック