在仿真期间可视化 Simulink 模型的波特响应
此示例说明如何在仿真期间可视化非线性 Simulink® 模型的线性系统特性,这些特性是在模型工作点处(仿真快照时间为 0)计算的。
打开 Simulink 模型。
例如:
openExample("watertank")打开 Simulink 库浏览器。在 Simulink 编辑器的仿真选项卡上,点击库浏览器。
向 Simulink 模型添加一个绘图模块。
在 Simulink Control Design 库中,选择 Linear Analysis Plots。

将模块(例如 Bode Plot 模块)拖放到模型窗口中。
该模型现在类似于下图所示。

双击模块以打开“模块参数”对话框。

要了解有关模块参数的详细信息,请参阅模块参考页。
指定线性化 I/O 点。
线性系统是针对 Water-Tank System 计算的。
提示
如果您的模型已包含 I/O 点,则该模块会自动检测并显示这些点。可随时点击
以使用模型中的 I/O 更新线性化输入/输出表。要指定输入,请执行以下操作:
点击线性化输入/输出表旁边的
。“模块参数”对话框会展开以显示点击模型中的一个信号以选择它区域。

提示
您可以在 Simulink 模型中一次选择多个信号。所有选择的信号都会显示在点击模型中的一个信号以选择它区域中。
在 Simulink 模型中,点击
PID Controller模块的输出信号以选择该信号。点击模型中的一个信号以选择它区域将更新以显示所选信号。

点击
以将信号添加到线性化输入/输出表中。
要指定输出,请执行以下操作:
在 Simulink 模型中,点击
Water-Tank System模块的输出信号以选择该信号。点击模型中的一个信号以选择它区域将更新以显示所选信号。

点击
以将信号添加到线性化输入/输出表中。
在线性化输入/输出表的配置下拉列表中,为以下模块选择开环输出:watertank/Water-Tank System:1。
线性化输入/输出表现在类似于下图所示。

点击
以折叠点击模型中的一个信号以选择它区域。
提示
或者,在您添加 Linear Analysis Plots 模块之前,右键点击 Simulink 模型中的信号,然后选择线性分析点 > 输入扰动和线性分析点 > 开环输出。线性化 I/O 注解会出现在模型中,所选信号会出现在线性化输入/输出表中。
保存线性系统。
选择记录选项卡。
选择将数据保存到工作区选项,并在变量名称字段中指定变量名称。
记录选项卡现在类似于下图所示。

点击显示图以打开一个空绘图。

通过点击绘图窗口中的
来绘制线性系统特性。您也可以从模型窗口对模型进行仿真。
软件会在默认仿真时间 0(在“模块参数”对话框的快照时间参数中指定)时对模型中线性化输入与输出之间的部分进行线性化,并绘制波特幅值和相位图。
仿真完成后,绘图窗口类似于下图所示。

计算出的线性系统在 MATLAB® 工作区中保存为 sys。sys 是具有 time 和 values 字段的结构体。要查看该结构体,请键入:
sys
该命令返回以下结果:
sys =
time: 0
values: [1x1 ss]
blockName: 'watertank/Bode Plot'time字段包含计算线性系统的默认仿真时间。values字段是一个状态空间对象,用于存储在仿真时间为 0 时计算的线性系统。要了解有关状态空间对象属性的详细信息,请参阅ss。
(如果 Simulink 模型配置为将仿真输出保存为单个对象,则数据结构体 sys 是 Simulink.SimulationOutput 对象中的一个字段,其中包含记录的仿真数据。有关 Simulink 中数据记录的详细信息,请参阅保存仿真数据和 Simulink.SimulationOutput 参考页。)