MATLAB在线性系统理论中的应用Word文件下载.docx
《MATLAB在线性系统理论中的应用Word文件下载.docx》由会员分享,可在线阅读,更多相关《MATLAB在线性系统理论中的应用Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
![MATLAB在线性系统理论中的应用Word文件下载.docx](https://file1.bdocx.com/fileroot1/2023-2/6/d9e71ea4-b5c1-4cc6-9929-b54eac1184b7/d9e71ea4-b5c1-4cc6-9929-b54eac1184b71.gif)
Continuous-timemodel.
example2:
由传递函数系数,将离散系统脉冲传递函数模型转换成状态空间表达式
num=[0.310.570.380.89];
den=[13.233.982.220.47];
gyu=tf(num,den,'
ts'
0.1)
theansweris:
Transferfunction:
0.31z^3+0.57z^2+0.38z+0.89
-----------------------------------------
z^4+3.23z^3+2.98z^2+2.22z+0.47
Samplingtime:
0.1
Pzmap(gyu)%绘制零极点分布图
sys=ss(gyu)%将离散系统脉冲传递函数模型转换成状态空间表达式。
Theansweris:
x1-3.23-1.49-1.11-0.235
x22000
x30100
x11
y10.310.2850.190.445
Discrete-timemodel.
Example3:
用s求逆矩阵法从系统矩阵a,b,c,d求得传递函数
symss;
a=[01;
-2-3];
b=[10;
11];
c=[21;
11;
-2-1];
d=[30;
00;
01];
i=[10;
f=inv(s*i-a)
g=simple(simple(c*f*b)+d)
f=
[(s+3)/(s^2+3*s+2),1/(s^2+3*s+2)]
[-2/(s^2+3*s+2),s/(s^2+3*s+2)]
g=
[3/(s+1)+3,1/(s+1)]
[2/(s+2),1/(s+2)]
[-3/(s+1),-1/(s+1)+1]
Example4eig()指令,求特征根矩阵和特征向量矩阵
函数eig()
Example5约旦标准型
函数jordan()
a=[010;
001;
2-54]
a=
010
001
2-54
[q,j]=jordan(a)
q=
1-20
2-2-2
4-2-4
j=
200
011
Example6从状态转移矩阵到传递函数的转化
举例:
clear
a=[010;
-6-11-6];
b=[0;
0;
1];
c=[111];
d=[0];
v=ss(a,b,c,d)
[num,den]=ss2tf(a,b,c,d);
printsys(num,den)
[z,p,k]=ss2zp(a,b,c,d);
zpk(z,p,k)
x0=[2;
figure
(1)
step(v)
figure
(2)
initial(v,x0)
t=0:
0.1:
60;
u=t;
figure(3)
lsim(v,u,t);
%figure(3)
第二章状态转移矩阵与状态方程的解
Example1
Collect函数的作用是合并同类项,ilaplace()函数的作用的求取laplace反变换,函数det()的作用是求方阵的行列式。
symsstx0xtaophiphi0;
%声明变量
I=[10;
e=s*I-a;
c=det(e);
d=collect(inv(e));
phi0=ilaplace(d)
x0=[1;
0];
x=phi0*x0
%公式与关系:
sinh是双曲正弦函数。
cosh是双曲余弦函数。
带h的都是双曲函数。
sinh(x)=(exp(x)-exp(-x))/2.0;
cosh(x)=(exp(x)+exp(-x))/2.0;
tanh(x)=sinh(x)/cosh(x);
phi0=
[2*exp(-t)-exp(-2*t),2*exp(-3/2*t)*sinh(1/2*t)]
[-4*exp(-3/2*t)*sinh(1/2*t),-exp(-t)+2*exp(-2*t)]
x=
2*exp(-t)-exp(-2*t)
-4*exp(-3/2*t)*sinh(1/2*t)
Example2
symsstx0ta0phiphi0;
d=collect(inv(e))
x1=phi0*x0;
phi=subs(phi0,'
t'
(t-tao));
f=phi*b*1;
x2=int(f,tao,0,t);
x=collect(x1+x2)
2*exp(-t)-exp(-2*t)+1/2-1/2*sinh(2*t)+sinh(t)+1/2*cosh(2*t)-cosh(t)
-4*exp(-3/2*t)*sinh(1/2*t)+exp(-t)-exp(-2*t)
Example3
c2d()函数的功能是将连续时间的系统模型转换成离散时间的系统模型,其调用格式为:
sysd=c2d(sysc,t,method).其中,输入参量sysc为连续时间的系统模型;
t为采样周期(s);
method用来指定离散化的方法:
‘zoh’—采用零阶保持器;
‘foh’—采用一届保持器;
‘tustin’—采用双线性逼近方法;
‘prewarm’—采用改进的tustin方法;
‘matched’—采用siso系统的零极点匹配方法;
2-1;
02];
c=[1-10;
21-1];
d=zeros
(2);
%将d赋值为2*2全零矩阵
t=0.1;
g=ss(a,b,c,d);
gd=c2d(g,t)
状态方程为……;
a,b,c,d;
采用零阶保持器将其离散化,采样周期为0.1s。
求离散化的系统方程。
x1x2x3
x10.99910.09840.004097
x2-0.024580.95410.07382
x3-0.4429-0.83660.5112
u1u2
x10.1099-0.004672
x20.1959-0.0902
x3-0.11640.1936
c=
y11-10
y221-1
y100
y200
第三章能控能观性
1能控性、能观性
线性控制系统的能控性矩阵和能观性矩阵,并且求出他们的秩,从而判断系统的能控性和能观测性。
函数ctrb()和obsv()分别计算系统的能控能观矩阵。
格式为:
qc=ctrb(a,b);
qo=obsv(a,c).然后再用rank()函数计算矩阵的秩。
a=[10-1;
-1-20;
301];
21;
c=[100;
0-10];
qc=ctrb(a,b)
qc=
101-2-2-4
21-5-296
02326-4
qo=obsv(a,c)
qo=
100
0-10
10-1
120
-20-2
-1-4-1
rc=rank(qc)
rc=
3
ro=rank(qo)
ro=
注:
当系统的模型用sys=ss(a,b,c,d)输入以后,也就是当系统模型用状态空间表达式表示时,也可以用qc=ctrb(sys),qo=obsv(sys)的形式求出该系统的能控性矩阵和能观性矩阵。
2能控标准型、能观标准型
系统方程:
a,b,c,
1)判断系统是否能控,并且求出a矩阵的特征多项式
a=[12-1;
021;
1-32];
1;
c=[101];
qc=ctrb(a,b)
det(s*eye(3)-a)%eye(3)isaunitmatrixofdimension3
ifrank(qc)==3
disp('
thesystemiscontrollable'
)
else
thesystemisuncontrollable'
end
018
135
1-1-10
ans=
s^3-5*s^2+12*s-11
thesystemiscontrollable
求出的特征多项式为s^3-5*s^2+12*s-11
(2)计算变换矩阵
q=qc*
=qc*
p=inv(q)
q=qc*[12-51;
-510;
100];
p=inv(q)
310
2-21
7-61
p=
0.2353-0.05880.0588
0.29410.1765-0.1765
0.11761.4706-0.4706
(3)计算出能控标准型
ab=p*a*q,bb=p*b,cb=c*q
ab=
01.00000.0000
001.0000
11.0000-12.00005.0000
bb=
0
0.0000
1.0000
cb=
10-51
2变换能观标准型
系统方程a,b,c
a=[301;
523;
101];
b=[1;
2];
c=[211];
qo=obsv(a,c)
det(s*eye(3)-a)
ifrank(qo)==3
thesystemisobservalbe'
thesystemisobservable'
211
1226
52424
s^3-6*s^2+10*s-4
thesystemisobservalbe
特征多项式为s^3-6*s^2+10*s-4
P=
*qo=
*qo
p=[10-61;
-610;
100]*qo,q=inv(p)
02-2
0-40
0.25000.25000.5000
0-0.25000
-0.5000-0.25000
(3)计算出能观标准型
004
10-10
016
-4
4