Main Content

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

linlft

指定されたブロックの影響を取り除きながら、モデルを線形化します。

構文

lin_fixed = linlft(sys,io,blocks)
[lin_fixed,lin_blocks] = linlft(___)
[___] = linlft(___,opt)

説明

lin_fixed = linlft(sys,io,blocks) は、特定のブロックの影響を取り除きながら、Simulink® モデルの sys を線形化します。sys は文字ベクトルまたは string として指定します。文字ベクトルの cell 配列または string 配列 blocks に、無視するブロックの絶対ブロック パス名を指定します。線形化は、Simulink モデルで指定された操作点で、無視されたブロックを含めて実行されます。オプションで、I/O オブジェクト io で線形化ポイント (線形解析ポイント) を指定できます。この結果として、線形化モデル lin_fixed で次のフォームが生成されます。

上部のチャネル In および Out は、I/O オブジェクト io でユーザーが指定した線形化ポイントに対応します。残りのチャネルは、無視されたブロックへの接続に対応します。

linlft を使用し、linearizeOptions'block-by-block' 線形化アルゴリズムを指定した場合、linearize で入力引数のすべてのバリエーションを使用できます。

linearize を使用して無視されたブロックを個別に線形化した後、linlftfold を使用して線形化結果を組み合わせることができます。

[lin_fixed,lin_blocks] = linlft(___) では、blocks で指定した各ブロックに対する線形化が返されます。blocks が単一のブロック パスを含む場合、lin_blocks は、単一の状態空間 (ss) モデルです。blocks が、複数のブロックを識別する配列の場合は、lin_blocks は状態空間モデルの cell 配列です。lin_blocks 内の各ブロックのブロックの絶対パスは、状態空間モデルの Notes プロパティに保存されます。

[___] = linlft(___,opt) は、linearizeOptions オプション セットとして指定される追加の線形化オプションを使用します。

すべて折りたたむ

この例の scdtopmdl モデルには、フィードフォワード パスに 2 つのサブシステムが含まれています。

  • Parameter Varying Controller モデル参照を除くすべてを含む固定部

  • scdrefmdl モデルを参照する Parameter Varying Controller モデル

最上位モデルを開きます。

topmdl = 'scdtopmdl';
open_system(topmdl)

このモデルを Parameter Varying Controller ブロックを除いて線形化します。

io = getlinio(topmdl);
blocks = {'scdtopmdl/Parameter Varying Controller'};
sys_fixed = linlft(topmdl,io,blocks);

コントローラー モデルを線形化します。

refmdl = 'scdrefmdl';
load_system(refmdl);
sys_pv = linearize(refmdl);

線形化の結果を組み合わせます。

BlockSubs(1) = struct('Name',blocks{1},'Value',sys_pv);

バージョン履歴

R2009b で導入