Main Content

BlockOperatingPoint

ブロックが線形化される操作点

説明

Simulink® モデルを線形化する際、BlockDiagnostic オブジェクトを含む LinearizationAdvisor オブジェクトを作成することができます。各 BlockDiagnostic オブジェクトには、対応する Simulink ブロックの線形化に関する診断情報が含まれています。各 BlockDiagnostic オブジェクトは、ブロックが線形化された操作点での入力値と状態値をもつ BlockOperatingPoint を含んでいます。

作成

ブロックが線形化された操作点を取得するには、BlockDiagnostic オブジェクトの OperatingPoint プロパティを使用します。たとえば、ブロックの操作点の取得を参照してください。

プロパティ

すべて展開する

操作点での状態値。ブロックが 1 つの状態をもつ場合は構造体、複数の状態をもつ場合は構造体配列として指定されます。各状態構造体には次のフィールドがあります。

  • Name — 状態名

  • x — 状態値

操作点での入力値。ブロックが 1 つの入力をもつ場合は構造体、ブロックが複数の入力をもつ場合は構造体配列として指定されます。各入力構造体には次のフィールドがあります。

  • Port — 入力端子の番号

  • u — 入力値

Simulink モデルのブロック パス。文字ベクトルとして指定します。

使用法

ブロック線形化のトラブルシューティングを行う場合、BlockDiagnostic オブジェクトの OperatingPoint プロパティを使用して、ブロックが線形化された操作点での入力値と状態値をチェックできます。

すべて折りたたむ

Simulink モデルを読み込みます。

mdl = 'scdpendulum';
load_system(mdl)

モデルを線形化して LinearizationAdvisor オブジェクトを取得します。

io = getlinio(mdl);
opt = linearizeOptions('StoreAdvisor',true);
[linsys,~,info] = linearize(mdl,io,opt);
advisor = info.Advisor;

リストの 2 番目のブロックについてブロック診断を取得します。このブロックは 2 次積分器です。

diags = getBlockInfo(advisor,2);

このブロックが線形化された操作点を取得します。

blockOP = diags.OperatingPoint
blockOP = 
Block Operating Point for scdpendulum/pendulum/Integrator, Second-Order

States:
-------
Name        x        
theta       1.5708   
theta_dot   0        

Inputs:
-------
Port   u           
1      0.0090909   

ブロックは 2 つの状態と 1 つの入力をもちます。

バージョン履歴

R2017b で導入