このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
getBlockInfo
ブロック線形化の診断情報の取得
構文
説明
Simulink® モデルを線形化する際、個々のブロック線形化に関する診断情報を含む LinearizationAdvisor
オブジェクトを作成できます。この診断情報を確認して、線形化の結果をトラブルシューティングすることができます。診断情報にアクセスするには関数 getBlockInfo
を使用します。
例
Simulink モデルを読み込みます。
mdl = 'scdpendulum';
load_system(mdl)
モデルを線形化して LinearizationAdvisor
オブジェクトを取得します。
io = getlinio(mdl);
opt = linearizeOptions('StoreAdvisor',true);
[linsys,~,info] = linearize(mdl,io,opt);
advisor = info.Advisor;
線形化で問題が生じる可能性のあるブロックを見つけます。
blocks = advise(advisor);
これらのブロックの診断を取得します。
diags = getBlockInfo(blocks)
diags = Linearization Diagnostics for the Blocks: Block Info: ----------- Index BlockPath Is On Path Contributes To Linearization Linearization Method 1. scdpendulum/pendulum/Saturation Yes No Exact 2. scdpendulum/angle_wrap/Trigonometric Function1 Yes No Perturbation 3. scdpendulum/pendulum/Trigonometric Function Yes No Perturbation
Simulink モデルを読み込みます。
mdl = 'scdpendulum';
load_system(mdl)
モデルを線形化して LinearizationAdvisor
オブジェクトを取得します。
io = getlinio(mdl);
opt = linearizeOptions('StoreAdvisor',true);
[linsys,~,info] = linearize(mdl,io,opt);
advisor = info.Advisor;
Saturation ブロックの診断情報を取得します。
satDiag = getBlockInfo(advisor,'scdpendulum/pendulum/Saturation')
satDiag = Linearization Diagnostics for scdpendulum/pendulum/Saturation with properties: IsOnPath: 'Yes' ContributesToLinearization: 'No' LinearizationMethod: 'Exact' Linearization: [1×1 ss] OperatingPoint: [1×1 linearize.advisor.BlockOperatingPoint]
一度に複数のブロックの診断情報を取得することもできます。モデルの sin ブロックの診断を取得します。
sinBlocks = {'scdpendulum/pendulum/Trigonometric Function'; 'scdpendulum/angle_wrap/Trigonometric Function1'}; sinDiag = getBlockInfo(advisor,sinBlocks)
sinDiag = Linearization Diagnostics for the Blocks: Block Info: ----------- Index BlockPath Is On Path Contributes To Linearization Linearization Method 1. scdpendulum/angle_wrap/Trigonometric Function1 Yes No Perturbation 2. scdpendulum/pendulum/Trigonometric Function Yes No Perturbation
Simulink モデルを読み込みます。
mdl = 'scdpendulum';
load_system(mdl)
モデルを線形化して LinearizationAdvisor
オブジェクトを取得します。
io = getlinio(mdl);
opt = linearizeOptions('StoreAdvisor',true);
[linsys,~,info] = linearize(mdl,io,opt);
advisor = info.Advisor;
advisor.BlockDiagnostics
の最初の要素の診断情報を取得します。
diag = getBlockInfo(advisor,1)
diag = Linearization Diagnostics for scdpendulum/pendulum/Saturation with properties: IsOnPath: 'Yes' ContributesToLinearization: 'No' LinearizationMethod: 'Exact' Linearization: [1×1 ss] OperatingPoint: [1×1 linearize.advisor.BlockOperatingPoint]
複数のブロックの診断を取得することもできます。たとえば、advisor
にリストされている 2 番目と 3 番目のブロックに関する診断を取得します。
diags = getBlockInfo(advisor,[2 3])
diags = Linearization Diagnostics for the Blocks: Block Info: ----------- Index BlockPath Is On Path Contributes To Linearization Linearization Method 1. scdpendulum/pendulum/Integrator, Second-Order Yes No Exact 2. scdpendulum/angle_wrap/Trigonometric Function1 Yes No Perturbation
Simulink モデルを読み込みます。
mdl = 'scdpendulum';
load_system(mdl)
モデルを線形化して LinearizationAdvisor
オブジェクトを取得します。
io = getlinio(mdl);
opt = linearizeOptions('StoreAdvisor',true);
[linsys,~,info] = linearize(mdl,io,opt);
advisor = info.Advisor;
線形化されたブロックのブロック パスを取得します。
paths = getBlockPaths(advisor);
angle_wrap
サブシステム内にどのブロックがあるかを示す logical 配列を作成します。
index = contains(paths,'angle_wrap');
これらのブロックの診断情報を取得します。
diags = getBlockInfo(advisor,index)
diags = Linearization Diagnostics for the Blocks: Block Info: ----------- Index BlockPath Is On Path Contributes To Linearization Linearization Method 1. scdpendulum/angle_wrap/Trigonometric Function1 Yes No Perturbation 2. scdpendulum/angle_wrap/Trigonometric Function2 Yes No Perturbation 3. scdpendulum/angle_wrap/Trigonometric Function Yes No Perturbation
入力引数
ブロック線形化の診断情報。LinearizationAdvisor
オブジェクトまたは LinearizationAdvisor
オブジェクトの配列として指定します。
Simulink モデルのブロック パス。次のいずれかとして指定します。
文字ベクトル — 1 つのブロックの診断情報を取得します。
文字ベクトルの cell 配列 — 複数のブロックの診断情報を取得します。
ブロック インデックス。次のいずれかとして指定します。
正の整数 —
Advisor.BlockDiagnostics
の指定要素の診断情報を取得します。正の整数の配列 —
Advisor.BlockDiagnostics
の複数の要素の診断情報を取得します。boolean 配列 —
index
内のtrue
である各要素について、Advisor.BlockDiagnostics
の対応する要素の診断を返します。
出力引数
バージョン履歴
R2017b で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)