このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
コマンド ラインでの線形解析プロットのカスタマイズ
線形解析応答プロットを作成した後、チャート オブジェクトを使用してプログラムでプロットのプロパティを編集できます。応答プロットのプロパティをプログラムで編集することで次のことが可能です。
バッチ解析プロセスで多数のプロットを効率的にカスタマイズする。
応答プロットを UI に追加し、プロットの外観をユーザー入力に基づいて更新する。
以下を使用して応答プロットの個々のプロパティを対話形式で変更することもできます。
プロパティ エディター — 詳細については、プロパティ エディターを使用した線形解析プロットのカスタマイズを参照してください。
チャート オブジェクト
応答プロットをプログラムでカスタマイズするには、次の表のいずれかのプロット関数を使用してプロットを作成する必要があります。それぞれの関数により、ドット表記を使用してプロパティを変更できるチャート オブジェクトが返されます。
プロット タイプ | プロット関数 | チャート オブジェクトのプロパティ |
---|---|---|
ボードの振幅と位相 | bodeplot | BodePlot Properties |
ハンケル特異値 | hsvplot | HSVPlot Properties |
インパルス応答 | impulseplot | ImpulsePlot Properties |
初期条件 | initialplot | InitialPlot Properties |
入力/出力の組み合わせに対する極/零点配置図 | iopzplot | IOPZPlot Properties |
任意の入力に対する時間応答 | lsimplot | LSimPlot Properties |
ニコルス線図 | nicholsplot | NicholsPlot Properties |
ナイキスト | nyquistplot | NyquistPlot Properties |
極/零点 | pzplot | PZPlot Properties |
根軌跡 | rlocusplot | RLocusPlot Properties |
周波数応答の特異値 | sigmaplot | SigmaPlot Properties |
ステップ応答 | stepplot | StepPlot Properties |
応答プロットのプロパティを指定する方法の詳細については、対応するチャート オブジェクトのプロパティを参照してください。チャート オブジェクトのプロパティを変更することで、プロットの次のような特徴をカスタマイズできます。
タイトルや軸ラベルのテキストとフォントの外観
軸の範囲と単位
応答の外観 (ラインの色、スタイル、太さなど)
時間ベクトルまたは周波数ベクトル
グリッドの可視性と色
MIMO プロットの入力と出力の可視性
表示する応答の特性 (立ち上がり時間や安定余裕など)
addResponse
を使用して既存のプロットに応答を追加したり、ドット表記を使用して応答に関連付けられたモデルを変更したりすることもできます。
線形解析プロットの外観のカスタマイズ
線形システムの応答をプロットしたら、ドット表記を使用してプロットの外観を変更できます。例として、伝達関数モデルのステップ プロットを作成します。
sys = tf(4,[1 0.5 4]); sp = stepplot(sys);
プロットの外観をカスタマイズするには、ドット表記を使用してチャート オブジェクト sp
のプロパティを変更します。たとえば、応答のラインの色と幅を変更します。
sp.Responses.Color = "black";
sp.Responses.LineWidth = 2;
プロットの単位を変更することもできます。既定では、ステップ応答にはプロットされた線形システムの時間単位が使用されます。sys
の時間単位は秒です。プロットの単位を分に変更します。
sp.TimeUnit = "minutes";
"x" 軸ラベルが単位の変更を反映するように更新されます。プロットの単位を変更しても、基となるモデルの時間単位は変更されません。モデルの時間単位を変更するには、応答のプロット前に変更します。
プロットのタイトルやプロットの軸ラベルも変更できます。たとえば、タイトルのテキストを変更し、タイトルのフォント サイズを大きくし、座標軸のラベルを太字にします。
sp.Title.String = "Step Plot"; sp.Title.FontSize = 16; sp.XLabel.FontWeight = "bold"; sp.YLabel.FontWeight = "bold";
プロット タイプに応じて、応答の特性を構成してプロットに表示できます。たとえば、ステップ プロットに整定時間を表示します。
sp.Characteristics.SettlingTime.Visible = "on";
線形モデルの応答の変更と追加
応答プロットを作成したら、線形システムのプロパティを変更してプロットを更新できます。これは、変化するモデル パラメーターの影響を調べたり、UI でユーザー入力に基づいて応答プロットを更新したりする場合に便利です。
例として、状態空間モデルのボード応答について考えます。
sys = ss([-4.5 -6;0.6 0.7],[0;-1.5],[-1.1 0],-0.5); bp = bodeplot(sys);
応答のソース データを変更してプロットの線形システムを変更できます。たとえば、D 行列をゼロに設定することで、プロットされた状態空間モデルの直達成分を削除します。
bp.Responses.SourceData.Model.D = 0;
応答プロットのモデルを新しいモデル オブジェクトに置き換えることもできます。たとえば、減衰比 zeta
の 2 次動的システムについて考えます。
zeta = 0.5; wn = 2; sys2 = tf(wn^2,[1 2*zeta*wn wn^2]);
このシステムのステップ応答をプロットします。
sp = stepplot(sys2);
新しい伝達関数モデルを作成し、モデルのソース データを置き換えることで、モデルの減衰比を更新できます。
newZeta = 0.75; sys3 = tf(wn^2,[1 2*newZeta*wn wn^2]); sp.Responses.SourceData.Model = sys3;
addResponse
関数を使用して既存のプロットに応答を追加することもできます。たとえば、sys2
のステップ応答を作成し、続いて sys3
の応答を追加します。
sp2 = stepplot(sys2);
addResponse(sp2,sys3);
sp2.LegendVisible = "on";
複数の応答を含むプロットがある場合、対応する応答をチャート オブジェクトから削除せずに 1 つ以上のプロットを非表示にできます。たとえば、プロットで 2 番目の応答を非表示にします。
sp2.Responses(2).Visible = "off";