这个例子展示了如何使用线性化顾问调试一个摆模型的线性化模型线性化器.
打开Simulin万博1manbetxk模型。
mdl =“scdpendulum”;Open_System(MDL)
摆角的初始条件为从0度的直立不稳定平衡逆时针90度。摆角速度的初始条件为0°/s。维持这种状态的公称扭矩为-49.05 N m。此配置保存为模型初始条件。
打开模型线性化器,在Simulin万博1manbetxk模型窗口中应用程序选项卡上,单击模型线性化器.
在模型初始条件下对模型进行线性化,在模型线性化器,在线性分析选项卡上,单击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子系统中的其他三角函数。
如果这些块不期望线性化为零,您可以修改工作点状态θ,并重新描述模型。
线性化顾问为过滤块诊断提供了一组预构建查询。例如,线性化的建议Query是第一次创建advisor时运行的默认查询,它包含路径上的块:
具有关于块线性化的诊断消息。
线性化为零。
具有替代的线性化。
运行不同的预构建查询,在顾问标签,在查询图库,单击查询。例如,单击路径上零I/O对.
此查询返回具有具有无法由任何输入通道无法到达的输出通道的线性化的块,或对任何输出通道没有影响的输入通道。例如,表中的第二个块是配置为的三角函数块atan2.
.这个块的第一个输入不能到达唯一的输出。
线性化顾问还为创建自定义查询提供了查询构建器。您可以使用这些查询来查找匹配特定条件的模型中的块。例如,要查找数字扰动的所有SISO块,请先打开查询构建器。这样做,在顾问选项卡上,单击新的查询.
在“查询生成器”对话框中:
指定查询名称作为sisopert
.
在下拉列表中选择有“纽约“输出”
,并指定1
在里面输出盒子。
要将另一个组件添加到查询,请单击添加到查询.
在第二个下拉列表中选择有“ν”输入“
,并指定1
在里面输入盒子。
点击添加到查询.
在第三个下拉列表中,选择摄动
.
点击运行查询.
的Linsys3_Advisor.文档显示匹配指定查询条件的块,以及sisopert查询添加到查询画廊。
删除sisopert查询,在“顾问”选项卡上,单击删除查询,并选择sisopert.
您还可以使用线性化顾问命令行功能调试模型线性化。要将顾问对象导出到MATLAB工作区,请单击出口.然后,在“出口顾问”对话框中,选择一个或多个要导出的顾问。例如,选择Linsys3_Advisor..
点击出口.
或者,您可以生成一个MATLAB脚本来自动线性化、advisor的提取、自定义查询的生成和查询的运行。要生成此脚本,请单击出口拆分按钮,然后选择生成脚本.
BdClose(MDL)