首页 理论教育 利用Matlab进行控制系统性能分析

利用Matlab进行控制系统性能分析

时间:2023-06-21 理论教育 版权反馈
【摘要】:读者可以参阅Matlab的帮助,例如在Matlab的提示符“》”下键入help step来了解指令step的调用方式。针对例3.10.2的移动机器人驾驶系统,当K1=K=1,K2=2,T=0.1时,利用下面的Matlab仿真程序,得到了锯齿波输入信号和移动机器人驾驶系统的动态响应曲线如图3.12.1所示。图3.12.2K=25、K1=6时的系统输出响应及控制量对输入和干扰的响应;单位阶跃输入时的控制量曲线图3.12.2K=25、K1=6时的系统输出响应及控制量对输入和干扰的响应;单位阶跃输入时的控制量曲线

利用Matlab进行控制系统性能分析

Matlab的Control工具箱提供了很多线性系统在特定输入下仿真的函数,例如连续时间系统在阶跃输入激励下的仿真函数step(),脉冲输入激励下的仿真函数impulse()及任意输入激励下的仿真函数lsim()等,其中阶跃响应函数step()的调用格式为

其中,sys可以由tf()或zpk()函数得到,t为选定的仿真时间向量。如果不加t,仿真时间范围自动选择,此函数只返回仿真数据而不在屏幕上画仿真图形,返回值y为系统在各个仿真时刻的输出所组成的矩阵,而x为时间响应数据。如果用户对具体的响应数值不感兴趣,而只想绘制出系统的阶跃响应曲线,则可以由如下的格式调用

求取脉冲响应的函数impulse()与step()函数的调用格式完全一致,而任意输入下的仿真函数lsim()的调用格式稍有不同,调用此函数时应给出一个输入表向量,该函数的调用格式为

式中,u为给定输入构成的列向量,它的元素个数应该和t的元素个数是一致的。当然若调用时不返回参数,该函数也可以直接绘制出响应曲线图形。例如:为系统sys对输入信号u(t)=sin(t)在5 s之内的输出响应仿真。

读者可以参阅Matlab的帮助,例如在Matlab的提示符“》”下键入help step来了解指令step的调用方式。(www.xing528.com)

【例3.12.1】针对例3.10.2的移动机器人驾驶系统,当K1=K=1,K2=2,T=0.1时,利用下面的Matlab仿真程序,得到了锯齿波输入信号和移动机器人驾驶系统的动态响应曲线如图3.12.1所示。

图3.12.1 锯齿波输入和移动机器人驾驶系统的响应曲线

【例3.12.2】针对3.11.5节的哈勃太空望远镜定向系统,当K=25,K1=6时,利用下面的程序可画出图3.12.2所示的系统对单位阶跃输入和单位阶跃干扰的瞬态响应曲线,以及单位阶跃输入时放大器输出的控制量曲线。

图3.12.2 K=25、K1=6时的系统输出响应及控制量

(a)对输入和干扰的响应;(b)单位阶跃输入时的控制量曲线

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

我要反馈