1 基本模型
1.1 传递函数模型(tf)
1.1.1 tf(num,den)
num,den分别表示分子、分母多项式。可以用**conv()**耦合两个多项式,例如:conv([1,1,0],[1,2])表示
( s 2 + s ) ( s + 2 ) (s^2+s)(s+2) (s2+s)(s+2)
1.2 状态空间模型(ss)
1.2.1 ss(A,B,C,D)
A,B,C,D分别是状态空间模型的系统矩阵、输入矩阵、输出矩阵和直连矩阵。
A=[1 0;1 1];
B=[1 1]'; %转置
C=[1 1];
D=0;
sys = ss(A,B,C,D); %sys即为状态空间表述
1.2.2 ssdata(sys)
从状态空间模型提取状态矩阵
[A,B,C,D]=ssdata(sys) %sys即为状态空间表述
1.2.3 canon(sys)
将状态空间模型标准化。
A=[1 0;1 1];
B=[1 1]'; %转置
C=[1 1];
D=0;
sys = ss(A,B,C,D); %sys即为状态空间表述
sys_can = canon(sys) %sys_can即为标准化状态空间模型
%[A_,B_,C_,D_]=ssdata(sys_can)%可以提取新的矩阵
1.3 零极点模型(zpk)
1.3.1 pzmap(sys)
绘制系统的零极点图,零点用o表示,极点用x表示。
1.4 模型间的转换
1.4.1 ss2tf(sys)/tf2ss(sys)
状态空间模型与传递函数模型的相互转换。
1.4.2 tf2zp(sys)/zp2tf(sys)
传递函数模型与零极点模型的相互转换。
2 时域分析法
2.1 时域响应
单位阶跃响应
y=step(num,den,t) %时间向量t=[0:step:end]
[y,x,t]=step(num,den) %传递函数模型:时间向量t由系统自动生成
[y,x,t]=step(A,B,C,D,iu) %状态方程模型
上述使用方法去掉等号及等号左边的变量,step()函数可以直接画出阶跃响应曲线
单位冲激响应
y=impulse(num,den,t) %时间向量t=[0:step:end]
[y,x,t]=impulse(num,den) %传递函数模型:时间向量t由系统自动生成
[y,x,t]=impulse(A,B,C,D,iu) %状态方程模型
上述使用方法去掉等号及等号左边的变量,impulse()函数可以直接画出阶跃响应曲线
任意输入响应
lsim(sys_1,u,t)
lsim(sys_2,u,t,x_0)
[y,T,x]=lsim(sys_1,u,t)
[y,T,x]=lsim(sys_2,u,t,x_0)
其中,u 为输入信号,x_0 为初始条件,t 为时间向量,sys_1为时域模型,sys_2 为状态空间模型,y为响应输出,T为仿真时间,x为系统状态变量。
A=[1 0;1 1];
B=[1 1]';
C=[1 1];
D=0;
sys = ss(A,B,C,D);
x_0 = [1 0]';
t=[0:0.01:2];
u=heaviside(t);
[y,T,x]=lsim(sys,u,t,x_0);
plot(t,y); %输出响应曲线
2.2 根轨迹法
rlocus(sys)可以画出系统根轨迹
3 频域分析法
3.1 伯德图
bode(num,den) % 绘制bode图
[mag pha] = bode(num,den) %mag、pha是bode图的幅值和相位函数
margin(num,den) %计算连续系统的幅值裕度和相角裕度,并绘制bode图
[gm,pm,wcp,wcg] = margin(num,den) % 计算幅值裕度、相角裕度及对应的穿越频率
3.2 奈奎斯特图
nyquist(num,den) %求连续系统的奈奎斯特曲线
4 状态空间分析法
4.1 求状态转移矩阵
syms s;
A=[1 0;1 1];
I=[1 0;0 1];
fai = ilaplace(inv(s*I-A));
5 常用的工程数学函数
5.1 矩阵运算
5.1.1 矩阵求逆inv(A)
5.1.2 矩阵行列式det(A)
5.1.3 矩阵特征分解eig(A)
[V,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量
5.2 积分变换
5.2.1 拉氏变换与反拉式变换laplace()/ilaplace()
注
此文档将随着学习过程,不断更新。