常用时域函数
控制系统的时域分析是指输入变量是时间t的函数,求出系统的输出响应,其响应肯定也是时间t的函数,称为时域相应。利用时域分析可以获得控制系统的动态性能指标以及线性系统稳定性,如延迟时间,上升时间,调节时间,超调量等,以及稳态性能指标---稳态误差。
MATLAB提供了响应呢的时域分析函数,具体如下:
1. roots
在MATLAB中,利用roots函数可以计算多项式的根,进而用来判断线性系统的稳定性。其调用格式为:
p=root(den); % den为按降序排列的特征多项式细说,p为特征方程的根,以向量的方式保存
例如:
clear all;clc;
den=[1 2 3 4 5 6 7];
p=roots(den)
运行程序 ,结果如下:
p =
-1.3079 + 0.5933i
-1.3079 - 0.5933i
0.7104 + 1.1068i
0.7104 - 1.1068i
-0.4025 + 1.3417i
-0.4025 - 1.3417i
由于有一个极点大于零, 所以该线性系统是不稳定的。
2. dcgain函数
在MATLAB中,提供了dcgain函数来计算系统的增益,函数的调用格式为:
k=dcgain(sys);
k=degain(num,den);
该函数用来计算线性时不变系统的稳态终值。
例如:求取一下传递函数的稳态误差
clear all;clc;
sys=tf(10,[1 0.6 100]);
staticError=1-dcgain(sys);
step(sys)
grid on;
运行结果如下:
staticError =
0.9000
3. gensig函数
在MATLAB中,提供了gensig函数用于生成任意信号,函数的调用格式为:
[u,t]=gensig(type,tau); % type为一下标识字符之一:
% sin & square & pulse, tau为周期,Tf为持续时间,Ts为采样时间
[t,t]=gensig(type,tau,Tf,Ts);
例如:
clear all;clc;
[u,t]=gensig('square',2,10,0.01);
plot(t,u);
axis([0 10 -0.5 2]);
运行结果如下:
最后,欢迎大家有问题给我留言。
另外欢迎小伙伴们点赞转发加关注。
谢谢大家!!