Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

在模型工作点处线性化 Simulink 模型

如果线性化 Simulink® 模型时未指定工作点,软件默认使用在模型中指定的工作点。模型工作点由存储在模型中的初始状态和输入信号值组成。

有关在不同工作点处线性化模型的信息,请参阅在配平工作点处进行线性化Linearize at Simulation Snapshot

使用模型线性化器线性化 Simulink 模型

此示例说明如何使用模型线性化器在模型中指定的工作点处线性化 Simulink 模型。

打开 Simulink 模型。

mdl = 'watertank';
open_system(mdl)

Water-Tank System 模块表示此控制系统中的被控对象,包括所有系统非线性部分。

要指定要线性化的模型部分,请先打开线性化选项卡。为此,请在 Simulink 窗口的 App 库中,点击线性化管理器

要指定信号的分析点,请点击模型中的信号。然后,在线性化选项卡上的插入分析点库中,选择分析点的类型。

  • PID Controller 模块的输出信号配置为输入扰动

  • Water-Tank System 模块的输出信号配置为开环输出。开环输出点是一个后跟环路开口的输出测量,它可在不改变模型工作点的情况下消除反馈信号对线性化的影响。

添加线性分析点时,该软件将在模型中其各自的位置添加标记。有关不同类型分析点的详细信息,请参阅指定要线性化的模型部分

有关在 Simulink 模型中定义分析点的详细信息,请参阅Specify Portion of Model to Linearize in Simulink Model。或者,如果您不想 Simulink 模型有任何更改,则可以使用模型线性化器定义分析点。有关详细信息,请参阅Specify Portion of Model to Linearize in Model Linearizer

要打开模型的模型线性化器,请在 Simulink 模型窗口的 App 库中,点击模型线性化器

要使用您在 Simulink 模型中定义的分析点作为线性化 I/O,请在线性分析选项卡上的分析 I/O 下拉列表中,选择模型 I/O

对于此示例,使用模型工作点进行线性化。在工作点下拉列表中,使模型初始条件处于选中状态。

要线性化系统并生成用于分析的响应图,请在线性化部分中点击一个响应。对于此示例,要为生成的线性模型生成波特图,请点击 波特

该软件会将线性化模型 linsys1 添加到线性分析工作区并生成模型的波特图。linsys1 是从指定输入到指定输出的线性模型,在默认模型工作点处进行计算。

有关分析线性模型的详细信息,请参阅Analyze Results Using Model Linearizer Response Plots

您也可以将线性化模型导出到 MATLAB® 工作区。为此,请在数据浏览器的线性分析工作区中右键点击 linsys1 并选择导出到 MATLAB 工作区

在命令行中线性化 Simulink 模型

此示例说明如何使用 linearize 命令在模型工作点处线性化 Simulink® 模型。

打开 Simulink 模型。

mdl = 'watertank';
open_system(mdl)

对于此系统,Water-Tank System 模块包含了所有的非线性动态特性。要指定要线性化的模型部分,请使用 linio 命令创建一个线性化 I/O 对象数组。

在 PID Controller 模块的输出端创建一个输入扰动分析点。

io(1) = linio('watertank/PID Controller',1,'input');

在 Water-Tank System 模块的输出端创建一个开环输出分析点。开环输出点是一个后跟环路开口的输出测量,它可在不改变模型工作点的情况下消除反馈信号对线性化的影响。

io(2) = linio('watertank/Water-Tank System',1,'openoutput');

有关不同类型的分析点的信息,请参阅指定要线性化的模型部分

使用指定的分析点在模型工作点处线性化模型。

linsys1 = linearize(mdl,io);

linsys1 是从指定输入到指定输出的线性模型,在默认模型工作点处进行计算。

然后,您可以分析线性化模型的响应。例如,绘制其波特响应。

bode(linsys1)

有关分析线性模型的详细信息,请参阅线性分析

另请参阅

|

相关主题