首页 理论教育 MATLAB控制系统的时域分析优化

MATLAB控制系统的时域分析优化

时间:2023-06-30 理论教育 版权反馈
【摘要】:计算的间隔Δt以及响应的时间范围由MATLAB来决定。一般来说,先不指定仿真时间,由MATLAB自行确定,然后根据结果,最后确定合适的仿真时间。将鼠标置于响应曲线的任意位置并单击,MATLAB都将显示与该点对应的时间及响应值。解MATLAB程序如下执行后可得到如图3-34所示的单位阶跃响应曲线。此外要注意,在使用命令lsim时,能够对斜坡输入、加速度输入以及任何其他用MATLAB生成的时间函数输入获得系统的响应。下列MATLAB程序将给出该系统的单位斜坡响应曲线。

MATLAB控制系统的时域分析优化

利用时域分析方法能够了解控制系统的动态性能,如系统的上升时间、调节时间、最大超调量和稳态误差都可以通过系统在给定输入信号作用下的过渡过程来评价。但是对于高于二阶的系统,绘制其时域响应曲线的实际步骤是通过计算机仿真实现的。MATLAB控制系统工具箱提供了多种线性系统在特定输入信号作用下的时间响应曲线的函数,例如可以用step函数、impulse函数和lsim函数对线性连续系统的时间响应进行仿真计算。其中step函数用于生成单位阶跃响应;impulse函数用于生成单位脉冲响应;lsim函数用于生成对任意输入的时间响应。

1.单位阶跃响应

单位阶跃响应函数step的调用格式为

其中sys可以由函数tf或函数zpk得到。该命令将生成一个单位阶跃响应图形,并将在屏幕上显示一条响应曲线。计算的间隔Δt以及响应的时间范围由MATLAB来决定。

如果希望MATLAB对于每个Δt都计算出响应,并画出0≤t≤T的响应曲线(这里T是Δt的整数倍数),则在程序中输入语句

并应用命令

这里t是使用者指定的时间。

仿真时间t的选择方法如下。

(1)对于典型二阶系统,根据其响应时间的估算公式可以确定。

(2)对于高阶系统,其响应时间往往很难估计,一般采用试探的方法,把t选大一些,看看响应曲线的结果,最后再确定其合适的仿真时间。

(3)一般来说,先不指定仿真时间,由MATLAB自行确定,然后根据结果,最后确定合适的仿真时间。

(4)在指定仿真时间时,步长的不同会影响到输出曲线的光滑程度,一般不宜取太大。如果阶跃命令存在一个左边变量,如

那么MATLAB生成系统的单位阶跃响应,但是不能在屏幕上显示曲线。必须使用plot命令来显示响应曲线。注意,时间t是事先定义的矢量,阶跃响应矢量y与矢量t有相同的维数。

【例3-12】假设系统的开环传递函数

试求该系统在单位负反馈下的阶跃响应曲线和最大超调量。

解 MATLAB程序如下

单位阶跃响应曲线如图3-33所示。disp函数为MATLAB提供的命令窗口输出函数,其调用格式为disp(变量名),其中,变量名既可以为字符串,也可以为变量矩阵

在求出系统的单位阶跃响应以后,根据系统瞬态性能指标的定义,可以得到系统的上升时间、峰值时间、最大超调量和调整时间等性能指标。另外,鼠标置于图形上,右击鼠标,在快捷菜单中选择Grid(网格)功能也可以给图形添加网格线。鼠标置于Characteristics(特性)项,在子菜单中选择Peak Response(响应峰值)、Settling Time(调整时间)、Rise Time(上升时间)和Steady State(稳态值),MATLAB将在响应曲线上标出这些点的位置。将鼠标置于响应曲线的任意位置并单击,MATLAB都将显示与该点对应的时间及响应值。

图3-33 单位阶跃响应曲线

【例3-13】对于典型二阶系统

试绘制出无阻尼固有频率ωn=6,阻尼比ξ从0.2~1.0(间隔0.2)及2.0时系统的单位阶跃响应曲线。

解 MATLAB程序如下

执行后可得到如图3-34所示的单位阶跃响应曲线。

2.单位脉冲响应

求取系统单位脉冲响应的函数impulse和单位阶跃函数step的调用格式完全一致。

【例3-14】对于系统传递函数

试绘制出系统的单位脉冲响应曲线。

解 下列MATLAB程序将给出该系统的单位脉冲响应曲线。该单位脉冲响应曲线如图3-35所示。(www.xing528.com)

图3-34 单位阶跃响应曲线

图3-35 单位脉冲响应曲线

3.任意函数作用下系统的响应

命令lsim产生线性定常系统对于任意输入的响应。函数lsim的调用格式为

产生对于输入u的系统响应。这里u为输入,t表示计算对u响应的时间。响应时间范围、时间增量都用语句说明。

命令

返回输出响应y,没有曲线被画出。需要画出响应曲线时,使用命令plot。

注意,命令

在一幅图上画出系统sys1,sys2,…的响应曲线。此外要注意,在使用命令lsim时,能够对斜坡输入、加速度输入以及任何其他用MATLAB生成的时间函数输入获得系统的响应。

例如

为系统对u(t)=sin(t)在5 s之内的输入响应仿真。

【例3-15】已知单位负反馈控制系统的开环传递函数为

求其闭环传递函数,并绘制输入信号为xi(t)=1+0.2sin(4t)时,系统的时域响应曲线xo(t)。

解 MATLAB程序如下

程序的运行结果为

任意输入时系统的响应曲线如图3-36所示。在上例中,函数text使用fontsize(字号大小)来改变文本字号。

图3-36 任意输入时系统的响应曲线

在MATLAB中没有斜坡响应命令,除了用上面的函数lsim之外还可利用阶跃响应命令求斜坡响应,先用s除G(s),再利用阶跃响应命令。

【例3-16】对于下列闭环系统

试绘出系统的单位斜坡响应曲线。

下列MATLAB程序将给出该系统的单位斜坡响应曲线。该单位斜坡响应曲线如图3-37所示。

图3-37 单位斜坡响应曲线

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈