主要内容

Simulink模型的修剪和线性化万博1manbetx

此示例演示如何以编程方式线性化水箱Simulink万博1manbetx模型反馈控制系统。在这个例子中,你得到一个开环线性化的水箱系统模型在一个操作点,水箱的液位处于稳定状态。

有关以编程方式指定模型线性化的输入和输出点的详细信息,请参见指定要线性化的模型部分在命令行中指定要线性化的模型部分

有关查找线性化工作点的更多信息,请参阅从规格中计算稳态工作点从命令行的规格中计算操作点

打开模型。

mdl=“watertank”;open_system (mdl)

在该模型中,当水位处于H=10

计算操作点

要对模型进行线性化,必须首先获得要对模型进行线性化的条件下的工作点。一种方法是首先模拟模型,并在模拟接近所需值时提取工作点。然后可以使用此工作点作为基于优化的搜索(微调)的起点对于稳态工作点。

使用findop函数,模拟模型,并在运行后使用模型条件获得操作点10秒。

opsim=findop(mdl,10)
opsim=模型水箱的工作点。(在时间t=10时评估的时变组件)状态:------------x(1)水箱/PID控制器/积分器/连续/积分器1.6949(2)水箱/水箱系统/H 10.08输入:无----------

在这个操作点上,,H不是所需的值10.但是,您可以使用此操作点初始化对以下操作点的搜索H=10

要配置操作点搜索,请首先创建操作点规范对象。

opspec = operspec (mdl);

用工作点中的状态值初始化工作点规范中的状态值奥普西姆

opspec=初始opspec(opspec,opsim);

使用操作点规范修剪模型。

行动= findop (mdl opspec);
工作点搜索报告:-------------------------------------opreport=模型水箱的工作点搜索报告。(在时间t=10时评估的时变组件)成功满足操作点规范。状态:------------MinxMaxdxdxuuuuuuu水箱/PID控制器/Integrator/Continuous/Integrator-Inf 1.2649 Inf 0 0(2.)水箱/水箱系统/H 0 10 Inf 0-1.0991e-14 0输入:无------输出:无----------

在这个操作点上,,H=10像预期的那样。操作点处于稳定状态dx模型状态的值接近于零。

配置线性分析点

要对模型进行线性化,必须指定模型中要线性化的部分。线性分析点指定线性化模型的输入和输出。要提取水箱装置的开环线性化模型,请在控制器块的输出端添加一个输入点,在输出端添加一个开环的输出点水箱系统块的t。

指定输入点。

水箱(1)=linio(‘水箱/PID控制器’,1,“输入”);

指定具有回路开口的输出点。

水箱_io(2)=linio(“watertank /水箱系统”,1,“openoutput”);

线性化和分析模型

现在可以使用指定的工作点和线性分析点对模型进行线性化。

sys =线性化(mdl、ops、watertank_io);

生成的模型是一个状态空间对象,可以使用控制系统工具箱中的任何工具进行分析™ 软件。例如,查看线性模型的频率响应。

波德(系统)

关闭Simulink万博1manbetx®模型。

bdclose (mdl)

另见

|

相关的话题