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 Simulink モデルの次の部分を個別に線形化してから、その結果を組み合わせます。

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

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

% Open the Simulink model
topmdl = 'scdtopmdl';

% Linearize the model without the Parameter Varying Controller
io = getlinio(topmdl);
blocks = {'scdtopmdl/Parameter Varying Controller'};
sys_fixed = linlft(topmdl,io,blocks);

% Linearize the Parameter Varying Controller
refmdl = 'scdrefmdl';
sys_pv = linearize(refmdl);

% Combine the results
BlockSubs(1) = struct('Name',blocks{1},'Value',sys_pv);
sys_fold = linlftfold(sys_fixed,BlockSubs);
R2009b で導入