此示例显示如何使用线性化顾问调试摆锤模型的线性化模型线性化器。
打开Simulin金宝appk模型。
mdl ='scdpendulum';Open_System(MDL)
摆角的初始条件是从0度的直立不稳定平衡逆时针旋转90度。摆角速度的初始条件是0°/s。维持此状态的公称扭矩为-49.05 N m。此配置保存为模型初始状态。
打开模型线性化器,在Simulin金宝appk模型窗口中,在应用选项卡,单击模型线性化器。
在模型初始条件下线性化模型,在模型线性化器,在这方面线性分析选项卡,单击b。
软件将模型线性化并绘制其频率响应。
从Bode绘图可以看出,系统具有线性化为零,使得扭矩对角度或角速度没有影响。您可以探索为什么使用线性化顾问是这种情况。
要重新设计模型并生成顾问,请选择线性化顾问,然后点击BODE PLOT 1。
该软件线性化模型,创建了linsys2_advisor.文件,并打开了顾问标签。
显示当前线性化的线性化路径,在顾问选项卡,单击突出显示线性化路径。在“线性化路径”对话框中,屏幕突出显示:
蓝色数值影响模型线性化。
红色位于线性化路径上,但不会影响当前操作点和块参数的模型线性化。
为方便起见,仅示出了摆锤子系统下面的块。
在这种情况下,由于模型线性化为零,因此没有块的块有助于线性化。
这linsys2_advisor.文档显示了对于线性化可能是有问题的表列表块。
要查看有关特定块线性化的更多信息,请在表的相应行中单击块信息。
在这种情况下,顾问报告了三个块,饱和块和两个三角函数块报告。首先调查饱和度块,因为它具有诊断。为此,请在表的第一行中单击块信息。
饱和块有两个诊断消息。第一条消息表明该块在其较低饱和极限之外线性化-49
,由于输入操作点是-49.05
。该消息还指出块可以作为增益线性化,这将线性化块作为1
无论输入操作点如何。为此,请先点击将块作为增益线性化,它突出显示块对话框中的相应参数。然后,选择在线化时将作为收获范围。
第二消息指出该块的线性化使模型线性化为零。如图所示线性化部分,块线性化为零。因此,修改块线性化是获得非零模型线性化的良好第一步。
将要视为增益的饱和度块设置为饱和度块后,重叠模型。目前,忽略两个三角函数函数块的诊断。
重新描述模型,在线性分析选项卡,单击BODE PLOT 1。这BODE PLOT 1文档更新,显示非零响应linsys3.
。
在相应的地方linsys_advisor3.文档,饱和块不再列出。但是,仍然显示了两个三角函数块。
突出显示线性化路径。
除了通过列出的三角函数块进行的路径之外,大多数块现在都会有助于模型线性化。
要理解为什么这些块没有贡献线性化,导航到来自的块Linsys3_Advisor.文档。例如,点击块信息在表的第二行。
对于此三角函数块,线性化为零,输入操作点是。
您可以通过采取第一个衍生来分析块的线性化罪
函数相对于输入:
因此,在评估时块的线性化为零。输入的源是二阶积分器的第一个输出,这取决于州θ.。因此,如果此块将线性化为零, 在哪里是一个整数。相同的条件适用于Angle_Wrap子系统中的其他三角函数。
如果这些块不预期线性化为零,则可以修改操作点状态θ.,并重新描述模型。
线性化顾问为过滤块诊断提供了一组预构建查询。例如,线性化建议当advisor被第一次创建时,Query是默认的查询运行,并且包含路径上的块:
具有关于块线性化的诊断消息。
线性化到零。
代替线性化。
运行不同的预构建查询,在顾问标签,在疑问画廊,单击查询。例如,点击零I / O对在路径上。
此查询返回具有具有无法由任何输入通道无法到达的输出通道的线性化的块,或对任何输出通道没有影响的输入通道。例如,表中的第二个块是配置为的三角函数块atan2.
。此块的第一个输入无法达到唯一的输出。
线性化顾问还为创建自定义查询提供了查询构建器。您可以使用这些查询来查找匹配特定条件的模型中的块。例如,要查找数字扰动的所有SISO块,请先打开查询构建器。这样做,在顾问选项卡,单击新Query.。
在“查询生成器”对话框中:
指定查询名称作为Sisopert.
。
在下拉列表中,选择有'ny'产出'
并指定1
在里面输出盒子。
要将另一个组件添加到查询,请单击添加到查询。
在第二个下拉列表中,选择有'nu'输入'
并指定1
在里面输入盒子。
点击添加到查询。
在第三个下拉列表中,选择扰动
。
点击运行查询。
这Linsys3_Advisor.文档显示匹配指定查询条件的块,以及Sisopert.查询被添加到疑问画廊。
删除Sisopert.查询,在“顾问”选项卡上,单击删除查询,选择Sisopert.。
您还可以使用线性化顾问命令行功能调试模型线性化。要将顾问对象导出到MATLAB工作区,请单击出口。然后,在“出口顾问”对话框中,选择一个或多个要导出的顾问。例如,选择Linsys3_Advisor.。
点击出口。
或者,您可以生成一个自动化线性化,提取顾问的MATLAB脚本,提取自定义查询以及查询的运行。要生成此脚本,请单击出口拆分按钮,然后选择生成脚本。
BdClose(MDL)