主要内容

getBlockInfo

获取块线性化的诊断信息

描述

当你线性化Simulink时金宝app®模型,您可以创建LinearizationAdvisor对象,该对象包含关于单个块线性化的诊断信息。您可以通过查看此诊断信息来排除线性化结果的故障。要访问诊断信息,请使用getBlockInfo函数。

例子

blockInfo= getBlockInfo (顾问属性中列出的所有块的诊断信息LinearizationAdvisor对象,顾问

例子

blockInfo= getBlockInfo (顾问中指定的块路径返回块的诊断信息

例子

blockInfo= getBlockInfo (顾问指数中指定索引的块返回诊断信息指数

例子

全部折叠

负载仿真软金宝app件模型。

mdl =“scdpendulum”;load_system (mdl)

将模型线性化,得到LinearizationAdvisor对象。

io = getlinio (mdl);选择= linearizeOptions (“StoreAdvisor”,真正的);[linsys, ~,信息]=线性化(mdl, io、选择);顾问= info.Advisor;

找出线性化有潜在问题的块。

块=建议(顾问);

获取这些块的诊断信息。

诊断接头= getBlockInfo(块)
didiags = Block的线性化诊断:Block Info: ----------- Index BlockPath Is On Path Contributes To Linearization Linearization Method 1. Block Info: ----------- Index BlockPath Is On Path To Linearizationscdpendulum/pendulum/Saturation是否准确2。scdpendulum/angle_wrap/Trigonometric Function1是否摄动scdpendulum/pendulum/三角函数是否摄动

负载仿真软金宝app件模型。

mdl =“scdpendulum”;load_system (mdl)

将模型线性化,得到LinearizationAdvisor对象。

io = getlinio (mdl);选择= linearizeOptions (“StoreAdvisor”,真正的);[linsys, ~,信息]=线性化(mdl, io、选择);顾问= info.Advisor;

获取饱和度块的诊断信息。

satDiag = getBlockInfo(顾问,“scdpendulum /摆/饱和度”
satDiag = linear Diagnostics for scdpendulum/pendulum/Saturation with properties: IsOnPath: 'Yes' contributestolineearization: 'No' LinearizationMethod: 'Exact' Linearization: [1x1 ss] OperatingPoint: [1x1 linearize.advisor.BlockOperatingPoint]

您还可以一次获取多个块的诊断信息。为模型中的sin块获取诊断信息。

sinBlocks = {“scdpendulum /摆/三角函数”“scdpendulum / angle_wrap /三角Function1”};sinBlocks sinDiag = getBlockInfo(顾问)
sinDiag =块的线性化诊断:块信息:-----------索引块路径在路径上有助于线性化scdpendulum/angle_wrap/Trigonometric Function1是否摄动2。scdpendulum/pendulum/三角函数是否摄动

负载仿真软金宝app件模型。

mdl =“scdpendulum”;load_system (mdl)

将模型线性化,得到LinearizationAdvisor对象。

io = getlinio (mdl);选择= linearizeOptions (“StoreAdvisor”,真正的);[linsys, ~,信息]=线性化(mdl, io、选择);顾问= info.Advisor;

的第一个元素获取诊断信息顾问。BlockDiagnostics

诊断接头= getBlockInfo(顾问,1)
diag = linear Diagnostics for scdpendulum/pendulum/Saturation with properties: IsOnPath: 'Yes' contributestolineearization: 'No' LinearizationMethod: 'Exact' Linearization: [1x1 ss] OperatingPoint: [1x1 linearize.advisor.BlockOperatingPoint]

您还可以获取多个块的诊断信息。例如,获取第2和第3块的诊断信息顾问

diags = getBlockInfo(advisor,[2 3])
didiags = Block的线性化诊断:Block Info: ----------- Index BlockPath Is On Path Contributes To Linearization Linearization Method 1. Block Info: ----------- Index BlockPath Is On Path To Linearizationscdpendulum/pendulum/Integrator,二阶是否准确2。scdpendulum/angle_wrap/Trigonometric Function1是否摄动

负载仿真软金宝app件模型。

mdl =“scdpendulum”;load_system (mdl)

将模型线性化,得到LinearizationAdvisor对象。

io = getlinio (mdl);选择= linearizeOptions (“StoreAdvisor”,真正的);[linsys, ~,信息]=线性化(mdl, io、选择);顾问= info.Advisor;

获取线性化块的块路径。

路径= getBlockPaths(顾问);

创建逻辑阵列,指示哪些块在angle_wrap子系统。

指数=包含(路径,“angle_wrap”);

获取这些块的诊断信息。

诊断接头= getBlockInfo(顾问、索引)
didiags = Block的线性化诊断:Block Info: ----------- Index BlockPath Is On Path Contributes To Linearization Linearization Method 1. Block Info: ----------- Index BlockPath Is On Path To Linearizationscdpendulum/angle_wrap/Trigonometric Function1是否摄动2。scdpendulum/angle_wrap/Trigonometric Function2是否摄动scdpendulum/angle_wrap/三角函数是否摄动

输入参数

全部折叠

块线性化的诊断信息,指定为LinearizationAdvisor对象或数组LinearizationAdvisor对象。

在Simulink模型中的块路金宝app径,指定为以下路径之一:

  • 字符向量-获取单个块的诊断信息。

  • 字符向量的细胞阵列-获取多个块的诊断信息。

块索引,指定为下列之一:

  • 正整数-获取的指定元素的诊断信息顾问。BlockDiagnostics

  • 正整数数组-获取的多个元素的诊断信息顾问。BlockDiagnostics

  • 的每个元素指数这是真正的,返回对应元素的诊断信息顾问。BlockDiagnostics

输出参数

全部折叠

块线性化的诊断信息指数,返回为BlockDiagnostic物体或向量BlockDiagnostic如果对象顾问是一个单LinearizationAdvisor对象。

如果顾问LinearizationAdvisor对象,那么blockInfo单元格阵列的尺寸是否与之相同顾问其中每个元素都是BlockDiagnostic对象。

介绍了R2017b