主要内容

在模型线性器中排除线性化结果

中,此示例显示如何使用线性化顾问来调试钟摆模型的线性化模型线性化电路

设置模型

打开Simulin金宝appk®模型。

mdl =“scdpendulum”;open_system (mdl)

摆角的初始条件是从竖直不稳定平衡的0度逆时针90度。摆角速度的初始条件为0°g/s。保持此状态的公称扭矩为-49.05 N m。此配置保存为模型初始条件。

开放模型线性器和线性化模型

打开模型线性化电路,在Simulin金宝appk模型窗口中,在应用程序选项卡上,单击模型线性化电路

为了在模型初始条件下线性化模型,在模型线性化电路,在线性分析选项卡上,单击波德

软件将模型线性化,并绘制其频率响应图。

从波德图可以看出,系统线性化为零,这样扭矩对角度或角速度没有影响。您可以使用线性化顾问来探索为什么会出现这种情况。

启用Advisor使模型线性化

要重新线性化模型并生成顾问,请选择线性化顾问,并单击博德地块1

软件线性化模型,创建linsys2_advisor文档,并打开顾问选项卡。

突出线性化路径

要显示当前线性化的线性化路径,请在顾问选项卡上,单击突出线性化路径.在Simuli金宝appnk模型中,突出显示的块为:

  • 蓝色数值化影响模型线性化。

  • 红色在线性化路径上,但不影响当前工作点和块参数的模型线性化。

为了方便起见,只显示了摆子系统下面的块。

在这种情况下,由于模型线性化为零,因此不存在有助于线性化的块。

使用Advisor调查潜在的问题块

linsys2_advisor文档显示了一个表,列出了可能对线性化有问题的块。

若要查看特定块线性化的详细信息,请单击表格对应行的块的信息

在这种情况下,advisor报告了三个块,一个Saturation块和两个Trigonometric Function块。首先研究饱和块,因为它有诊断功能。为此,在表的第一行中单击块的信息

饱和块有两条诊断消息。第一条消息指示块在其饱和下限之外线性化-49年,因为输入工作点为-49.05.该消息还声明块可以线性化为增益,这将线性化块为1不管输入的工作点是什么。要做到这一点,首先单击线性化块作为增益,突出显示块对话框中相应的参数。然后,选择线性化时视为增益参数。

第二条消息指出,此块的线性化导致模型线性化为零。如线性化Section,块被线性化为零。因此,修改块线性化是获得非零模型线性化的良好的第一步。

Relinearize模型

在将饱和块设置为增益后,重新线性化模型。现在,忽略两个Trigonometric Function块的诊断。

为了重新线性化模型,在线性分析选项卡上,单击博德地块1.的博德地块1文档更新,显示的非零响应linsys3

在相应的linsys_advisor3文档中,饱和块不再被列出。然而,两个三角函数块仍然显示。

突出线性化路径。

除了经过列出的三角函数块的路径外,大多数块现在都有助于模型线性化。

要了解为什么这些块对线性化没有贡献,请从linsys3_advisor文档。例如,单击块的信息在表格的第二行。

对于该三角函数块,线性化为零,输入工作点为 π / 2 1 5 7 0 8

你可以通过对的一阶导数来解析地找到块的线性化关于输入的函数:

u u 因为 u

因此,当在 u π / 2 块的线性化是零。输入源是二阶积分器的一次输出,它取决于状态θ.因此,该块将线性化为零,如果 θ π / 2 + k π ,在那里 k 整数形式。同样的条件也适用于angle_wrap子系统中的其他三角函数。

如果这些块不期望线性化为零,则可以修改工作点状态θ,并重新线性化模型。

运行预构建的Advisor查询

线性化顾问提供了一组预先构建的查询,用于筛选块诊断。例如,线性化的建议Query是advisor第一次创建时运行的默认查询,包括路径上的块:

  • 有关于块线性化的诊断信息。

  • 线性化到零。

  • 替换线性化。

上运行不同的预构建查询顾问选项卡,在查询图库,单击查询。例如,单击路径上I/O对为零

此查询返回具有线性化的块,这些块的输出通道不能被任何输入通道到达,或者输入通道对任何输出通道都没有影响。例如,表中的第二个块是配置为的Trigonometric Function块量化.这个块的第一个输入不能到达唯一的输出。

创建并运行自定义查询

线性化顾问还提供了用于创建自定义查询的查询生成器。您可以使用这些查询在模型中查找匹配特定条件的块。例如,要查找所有在数值上受到扰动的SISO块,首先打开Query Builder。要做到这一点,就顾问选项卡上,单击新的查询

在查询生成器对话框中:

  1. 指定查询名称作为sisopert

  2. 在下拉列表中选择有“Ny”输出,并指定1输出盒子。

  3. 若要向查询中添加另一个组件,请单击添加到查询

  4. 在第二个下拉列表中,选择有“Nu”输入,并指定1输入盒子。

  5. 点击添加到查询

  6. 在第三个下拉列表中,选择摄动

点击运行查询

linsys3_advisor文档显示与指定查询条件匹配的块,而sisopert查询被添加到查询画廊。

删除sisopert查询时,在Advisor选项卡上单击删除查询,并选择sisopert

导出顾问和生成MATLAB脚本

您还可以使用线性化顾问命令行函数调试模型线性化。若要将顾问对象导出到MATLAB®工作区,请单击出口.然后,在“导出顾问”对话框中,选择一个或多个要导出的顾问。例如,选择linsys3_advisor

点击出口

或者,您也可以生成一个MATLAB脚本,它可以自动进行线性化、提取顾问、生成自定义查询和运行查询。要生成此脚本,请单击出口分裂按钮,然后选择生成脚本

bdclose (mdl)

另请参阅

应用程序

相关的话题