修剪和线性化模型金宝app
此示例显示了如何编程线性化Watertank 金宝appSimulink模型反馈控制系统。在示例中,您可以在储罐水平处于稳定状态的工作点处获得水坦克系统的开环线性化模型。
有关以编程方式指定线性化的输入和输出点的更多信息,请参见指定模型的一部分以线性化和指定模型的部分以在命令行中线性化。
有关查找线性化操作点的更多信息,请参见从规格计算稳态操作点和从命令行中的规格计算操作点。
打开模型。
mdl ='水箱';Open_System(MDL)
在此模型中,当水位处于H
=10
。
计算操作点
要使模型线性化,您必须首先获得要线性化模型的条件的操作点。一种方法是首先模拟模型并在仿真接近所需值时提取工作点。然后,您可以将此操作点用作稳态操作点的基于优化的搜索(修剪)的起点。
使用Findop
功能,模拟模型并使用模型条件获得操作点10
秒。
OPSIM = Findop(MDL,10)
OPSIM =模型水务手术点。(在时间t = 10上评估的时间变化组件)状态:----------- x ________(1.)watertank/pid控制器/intementator/intemperator/continule/intemator 1.6949(2.)系统/H 10.0796输入:无-------------------------------------------------
在这个操作点,H
不是以期望的价值10
。但是,您可以使用此操作点来初始化搜索操作点H
=10
。
要配置操作点搜索,请首先创建一个操作点规范对象。
opspec = operspec(mdl);
初始化操作点规范中的状态值,并在操作点中的状态值初始化OPSIM
。
opspec = initopsPec(opspec,opsim);
使用操作点规格修剪模型。
OPSS = FindOp(MDL,OPSPEC);
Operating point search report: --------------------------------- opreport = Operating point search report for the Model watertank.(在时间t = 10上评估的时变组件)成功满足了操作点规格。States: ---------- Min x Max dxMin dx dxMax ___________ ___________ ___________ ___________ ___________ ___________ (1.) watertank/PID Controller/Integrator/Continuous/Integrator -Inf 1.2649 Inf 0 0 0 (2.) watertank/水坦克系统/H 0 10 INF 0 -1.0991E-14 0输入:无--------------------------------------------------------------------------------------------------------------------
在这个操作点,H
=10
正如预期的。操作点处于稳定状态,因为DX
模型状态的值接近零。
配置线性分析点
要线性化模型,您必须指定要线性化的模型的部分。线性分析点指定线性化模型的输入和输出。要提取水坦克植物的开放环线性化模型,请在控制器块的输出和一个带环开口的输出点处添加一个输入点,并在水坦克系统块的输出处添加。
指定输入点。
watertank_io(1)= linio('Watertank/PID控制器',1,'输入');
用循环开口指定输出点。
watertank_io(2)= linio(“水务/水坦克系统”,1,“开放输出”);
线性化和分析模型
现在,您可以使用指定的操作点和线性分析点线性化模型。
sys =线性化(MDL,OPSS,watertank_io);
最终的模型是一个状态空间对象,您可以使用Control System Toolbox™软件中的任何工具来分析该模型。例如,查看线性模型的频率响应。
博德(SYS)
关闭Simulink金宝app®型号。
BDCLOSE(MDL)