目录
1.ltisys函数和ltiss函数
ltisys函数的作用是描述系统,ltiss函数作用是从系统中提取状态空间矩阵,下面给出ltisys和ltiss函数的使用格式。
当被控对象为状态空间形式时:
sys=ltisys(A,B,C,D,E) %描述系统
[A,B,C,D] = ltiss(sys)%提取系统并以状态空间矩阵形式呈现
当被控对象为传递函数形式时:
sys = ltisys('tf',n,d)
2.时不变系统一般形式
时不变连续系统:
时不变离散系统:
注:E为可逆矩阵,所以当E为单位矩阵时便是我们最熟悉的状态空间形式。
改写成系统矩阵的形式:
3.例如,给定一个二阶系统:
其转化为上述标准形式的状态空间方程为:
其中:
所以使用ltisys的描述代码如下:
ltisys([0 1;-k -f],[0;1],[1 0],0,[1 0;0 m])
4.绘制频率响应图
使用函数及格式:
splot(sys,choice,xrange) %连续系统
splot(sys,T,choice,xrange) %离散系统
%{
①choice:
'bo' : Bode plot
'sv' : singular value plot
'ny' : Nyquist plot (SISO)
'li' : Lin-log Nyquist plot (SISO)
'ni' : Black/Nichols chart (SISO)
'st' : step response
'im' : impulse response
'sq' : response to a square wave
'si' : response to a sine wave
②xrange即坐标x(频率响应)的范围
%}
取上例中的m = 2, f = 0.01, k = 0.5,以绘制伯德图为例,演示代码如下:
sys = ltisys([0 1;-0.5 -0.01],[0;1],[1 0],0,[1 0;0 2]);
splot(sys,'bo')
出图结果:
当限定频率范围在(10^-1~10^1)时,可改写为:
splot(sys,'bo',logspace(-1,1,50))
程序运行结果:
离散系统使用也是类似的,如给定以下离散系统:
取采样间隔为0.01,演示程序如下:
splot(ltisys(0.1,0.2,-1),0.01,'bo')
出图结果:
注:仅为便利自己学习,错误在所难免,如有兴趣的学者可以参考交流,谢谢!
参考资料:
《LMI Control Toolbox》
MATLAB help文档