Main Content

frest.simCompare

パッケージ: frest

非線形および線形モデルの時間領域シミュレーションのプロット

構文

frest.simCompare(simout,sys,input)
frest.simCompare(simout,sys,input,x0)
[y,t] = frest.simCompare(simout,sys,input)
[y,t,x] = frest.simCompare(simout,sys,input,x0)

説明

frest.simCompare(simout,sys,input) は、以下の両方をプロットします。

  • 非線形 Simulink モデルのシミュレーション出力 simout

    frestimate コマンドから出力を得ます。

  • 線形モデル sys の、入力信号 input に対するシミュレーション出力

    線形シミュレーションの結果は、simout データの初期出力値によってオフセットされます。

frest.simCompare(simout,sys,input,x0) は、周波数応答シミュレーション出力と線形モデルのシミュレーション出力を初期状態 x0 でプロットします。初期状態を指定するため、線形シミュレーション結果は simout データ内の初期出力値によってオフセット "されません"。

[y,t] = frest.simCompare(simout,sys,input) は、線形モデル sys に対して線形シミュレーション出力応答 y および時間ベクトル t を返します (入力信号 input)。この構文は、プロットを表示しません。行列 y は時間サンプルと同じ行数で ((length(t)))、システム出力と同じ列数です。

[y,t,x] = frest.simCompare(simout,sys,input,x0) は、線形状態空間モデル sys に対して初期状態 x0 で状態軌跡 x も返します。

すべて折りたたむ

frest.simCompare により、時間領域における周波数応答の推定の結果を検証できます。シミュレートされたモデルの応答を、正確な線形化により取得されたモデルなど、システムの線形モデルの応答と比較できます。

watertank モデルのプラントの閉ループ応答を推定します。最初にモデルを開きます。

model = 'watertank';
open_system(model)

プラントを指定する線形化 I/O セットを定義し、推定のための定常状態の操作点を見つけます。

io(1)=linio('watertank/PID Controller',1,'input');
io(2)=linio('watertank/Water-Tank System',1,'output');

watertank_spec = operspec(model);
opOpts = findopOptions('DisplayReport','off');
op = findop(model,watertank_spec,opOpts);

入力信号を作成して推定します。この例では、ステップ入力を使用します。

input = frest.createStep('FinalTime',100);

モデルの指定された部分の周波数応答を推定し、推定プロセス中に生成されたデータを simout 出力引数を使用して保存します。また、同じ I/O セットと操作点を使用してモデルを線形化します。

[sysest,simout] = frestimate(model,op,io,input);
syslin = linearize(model,io,op);

線形化したモデルと Simulink モデルの時間領域応答を、同じ入力信号に対して検証します。

frest.simCompare(simout,syslin,input)
legend

この例では、応答は事実上同一です。

バージョン履歴

R2009b で導入