MATLAB 求解控制系统特性和响应
控制系统特性
控制系统最基本的特性包含:极点和零点。
以下为获取上述特性的方法命令:
pole(sys):求解控制系统极点
zero(sys):求解控制系统零点
damp(sys):求解控制系统阻尼和自然频率
pzmap(sys):绘制控制系统的零极点图
示例:
求出如下所示传递函数的极点、零点,并将其绘制在复平面上。
实现代码:
z = [-2]; p = [-1 -1 -3]; k = 1; sys = zpk(z, p, k) pole(sys) zero(sys) pzmap(sys); grid
运行结果:
控制系统获得的信号称为输入信号或激励;
控制系统由输入信号而产生的信号称为输出信号或响应。
一些基本的系统响应包含如下:
1. 阶跃信号响应
求系统对阶跃信号的响应,常用命令如下所示:
示例:
实现代码:
sys=tf([1 2], [1 4 3]);
step(sys)
运行结果:
2. 脉冲信号响应
求系统对脉冲信号的响应,常用命令如下所示:
示例:
实现代码:
sys=tf([1 2], [1 4 3]);
impulse(sys)
运行结果:
3. 任意信号响应
我们可以计算任意输入信号的系统响应。
首先,我们需要定义一个时间向量 t 以及对应此时间向量的输入信号向量 u。
接下来,便可以通过如下所示命令来求得该输入信号的系统响应。
示例:
假设时间向量 t = 0:0.1:10,输入信号 u = sin(1.2*t)。
实现代码:
sys=tf([1 2], [1 4 3]); % Create time variable t=0:0.1:10; % Create input u=sin(1.2*t); % Plot the response lsim(sys, u, t) grid
运行结果: