linearize コマンドを使用した複数の操作点でのモデルのバッチ線形化
この例では、linearize
コマンドを使用して、変化させた操作点でモデルをバッチ線形化する方法を説明します。
watertank
モデルについて、Water-Tank System ブロックでモデル化されたプラント伝達関数を取得します。バッチ線形化の結果を解析して、操作点によるモデルの動作への影響を調べることができます。
モデルを開きます。
open_system('watertank')
線形化 I/O を指定します。
ios(1) = linio('watertank/PID Controller',1,'input'); ios(2) = linio('watertank/Water-Tank System',1,'openoutput');
ios(2)
は開ループ出力ポイントを指定します。ループ開始点ではフィードバックの影響が取り除かれます。
平衡化された操作点、モデルの初期条件またはシミュレーションのスナップショット時間を使用してモデルを線形化できます。この例では、指定されたシミュレーションのスナップショット時間でモデルを線形化します。
ops_tsnapshot = [1,20];
Water-Tank System ブロックの伝達関数を取得し、指定された操作点でモデルを線形化します。
T = linearize('watertank',ios,ops_tsnapshot);
T
は、線形化された連続時間状態空間モデルの 2 行 1 列の配列です。ソフトウェアは、ops_tsnapshot(1)
で watertank
を線形化して T(:,:,1)
モデルを計算し、ops_tsnapshot(2)
で watertank
を線形化して T(:,:,2)
を計算します。
Control System Toolbox 解析コマンドを使用して、T
の線形化されたモデルのプロパティを調べます。たとえば、両方のスナップショット時間でのプラントのステップ応答を調べます。
stepplot(T)
参考
linearize
| findop
| linio
| stepplot