线控实验报告电子版.docx
- 文档编号:8405130
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:49
- 大小:319.15KB
线控实验报告电子版.docx
《线控实验报告电子版.docx》由会员分享,可在线阅读,更多相关《线控实验报告电子版.docx(49页珍藏版)》请在冰豆网上搜索。
线控实验报告电子版
实验报告
课程名称:
线性系统理论基础
院(系):
信息与控制工程学院
****************************
学号:
1
专业班级:
自动化1301
************************
2016年5月
实验报告
课程线性系统理论基础实验日期2016年5月24日
专业班级自动化1301姓名杨镭学号1同组人
实验名称实验一MATLAB控制工具箱的应用及线性系统的运动分析评分
批阅教师签字
一、实验目的
1、学习掌握MATLAB控制工具箱中的基本命令的操作方法;
2、掌握线性系统的运动分析方法。
二、实验内容
(1)自选控制对象模型,应用以下命令,并写出结果。
step,damp,pzmap,rlocus,rlocfind,bode,margin,nyquist;
tf2ss,ss2tf,tf2zp,zp2ss;
ss2ss,jordan,canon,eig。
(2)掌握线性系统的运动分析方法
1)已知
,求
。
(用三种方法求解)
2)利用MATLAB求解书上例题,并画出状态响应和输出响应曲线,求解时域性能指标。
(加图标题、坐标轴标注及图标)
3)利用MATLAB求解书上例题(
),并画出状态响应和输出响应曲线。
(加图标题、坐标轴标注及图标)
4)P36
(2)(3);P56(3)
三、实验环境
1、计算机120台;
2、软件1套。
四、实验原理(或程序框图)及步骤
学习掌握MATLAB控制工具箱中基本命令的操作
设系统的模型如式(1-1)所示:
(1-1)
其中A为n×n维系数矩阵;B为n×m维输入矩阵;C为p×n维输出矩阵;D为p×m维传递矩阵,一般情况下为0。
系统的传递函数阵和状态空间表达式之间的关系如式(1-2)所示:
(1-2)
式(1-2)中,
表示传递函数阵的分子阵,其维数是p×m;
表示传递函数阵的分母多项式,按s降幂排列的后,各项系数用向量表示。
五、程序源代码及运行结果
1、自选控制对象模型,应用以下命令,并写出结果。
Step:
系统单位阶跃响应。
Damp:
计算机系统模型固有频率。
Pzmap:
绘制连续系统零极点。
Rlocus:
求系统根轨迹。
Rlocfind:
计算与根轨迹上极点对应的根轨迹增益。
Bode:
绘制给定系统的伯德图。
Margin:
求给定系统的增益裕度和相位裕度。
Nyquist:
绘制给定系统的奈氏图。
tf2ss:
传递函数阵转换为状态空间模型。
ss2tf:
状态空间模型转换为传递函数阵。
tf2zp:
将系统传递函数形式转换为零极点增益形式。
zp2tf:
将零极点形式转换为传递函数形式。
Jordon:
计算广义特征向量。
Canco:
将传递函数模型转换得到状态空间模型规范形。
Eig:
求矩阵全部特征值。
1)step,damp,pzmap,rlocus,rlocfind,bode,margin,nyquist
a=[010;001;-4-3-2];
b=[1;3;-6];
c=[100];
d=0;
[num,den]=ss2tf(a,b,c,d,1);
sys=tf(num,den);
step(sys)
damp(sys)
pzmap(sys)
rlocus(sys)
rlocfind(sys)
bode(sys)
margin(sys)
nyquist(sys)
Step:
Damp:
damp(sys)
EigenvalueDampingFreq.(rad/s)
++000i+000
-+000i+000
+000+000+000
Pzmap:
Rlocus,rlocfind:
selected_point=
+
ans=
Bode,margin:
Nyquist
2、掌握线性系统的运动分析方法。
1)已知A=
,求
。
(用三种方法求解)
解法一程序:
A=[01;-2-3];
>>symst;
>>eat1=expm(A*t)
运行结果:
eat1=
[2/exp(t)-1/exp(2*t),1/exp(t)-1/exp(2*t)]
[2/exp(2*t)-2/exp(t),2/exp(2*t)-1/exp(t)]
解法二程序:
A=[01;-2-3];
symsst;
G=inv(s*eye(size(A))-A)
eat2=ilaplace(G)
运行结果:
G=
[(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)]
eat2=
[2/exp(t)-1/exp(2*t),1/exp(t)-1/exp(2*t)]
[2/exp(2*t)-2/exp(t),2/exp(2*t)-1/exp(t)]
解法三程序:
A=[01;-2-3];
symss;
[P,D]=eig(A);
Q=inv(P);
eat3=P*expm(D*t)*Q
运行结果:
eat3=
[2/exp(t)-1/exp(2*t),1/exp(t)-1/exp(2*t)]
[2/exp(2*t)-2/exp(t),2/exp(2*t)-1/exp(t)]
2)利用MATLAB求解课本例题,并画出状态响应和输出响应曲线,求解时域性能指标。
(加图标题、坐标轴标注及图标)
实验程序:
a=[-10;0-2];b=[1;1];
c=[];d=0;
G=ss(a,b,c,d);
x0=[2;3];
symsst;
G0=inv(s*eye(size(a))-a);
x1=ilaplace(G0)*x0
G1=inv(s*eye(size(a))-a)*b;
x2=ilaplace(G1/s)
x=x1+x2
y=c*x
forI=1:
61;
tt=*(I-1);
xt(:
I)=subs(x(:
),'t',tt);
yt(I)=subs(y,'t',tt);
end;
plot(0:
60,[xt;yt]);
title('系统状态响应和输出响应');
xlabel('t(s)');
ylabel('输出');
legend('状态响应x2','状态响应x1','输出响应');
grid;
运行结果:
x1=
2/exp(t)
3/exp(2*t)
x2=
1-1/exp(t)
1/2-1/(2*exp(2*t))
x=
1/exp(t)+1
5/(2*exp(2*t))+1/2
y=
3/(2*exp(t))+5/(4*exp(2*t))+7/4
系统状态响应和输出响应:
利用MATLAB求解课本例题,并画出状态响应和输出响应曲线。
实验程序:
G=[01;-1];h=[1;1];
x0=[1;-1];
symsznk;
G0=inv(z*eye(size(G))-G)*z;
thtak=iztrans(G0,k)
uz=z/(z-1);
xk=iztrans(G0*x0+G0/z*h*uz)
n=0:
1:
60;
xk1=-17/6*(-1/5).^n+22/9*(-4/5).^n+25/18;
xk2=17/30*(-1/5).^n-88/45*(-4/5).^n+7/18;
plot(n,xk1,n,xk2)
运行结果:
thtak=
[4/3*(-1/5)^k-1/3*(-4/5)^k,5/3*(-1/5)^k-5/3*(-4/5)^k]
[-4/15*(-1/5)^k+4/15*(-4/5)^k,-1/3*(-1/5)^k+4/3*(-4/5)^k]
xk=
[-17/6*(-1/5)^n+22/9*(-4/5)^n+25/18]
[17/30*(-1/5)^n-88/45*(-4/5)^n+7/18]
完成以下实验。
P36
(2)
实验程序:
a=[214;020;001];
b=[10;34;21];
c=[351];
d=0;
[num,den]=ss2tf(a,b,c,d,1)
运行结果:
num=
0
den=
1-58-4
(3)
实验程序:
num=[1422;0311];
den=[1232];
[a,b,c,d]=tf2ss(num,den)
运行结果:
a=
-2-3-2
100
010
b=
1
0
0
c=
2-10
311
d=
1
0
P56(3)
实验程序:
a=[01;-6-5];
b=[1;0];
c=[1-1];d=0;
>>G=ss(a,b,c,d);
>>x0=[1;1];
>>symsst;
>>G0=inv(s*eye(size(a))-a);
>>x1=ilaplace(G0)*x0;
>>G1=inv(s*eye(size(a))-a)*b;
>>x2=ilaplace(G1/s);
>>x=x1+x2;
>>y=c*x
运行结果:
y=
-28/3*exp(-3*t)+15/2*exp(-2*t)+11/6
x1=
[-3*exp(-3*t)+4*exp(-2*t)]
[-8*exp(-2*t)+9*exp(-3*t)]
x2=
[2/3*exp(-3*t)-3/2*exp(-2*t)+5/6]
[-1+3*exp(-2*t)-2*exp(-3*t)]
x=
[-7/3*exp(-3*t)+5/2*exp(-2*t)+5/6]
实验报告
课程线性系统理论基础实验日期2016年5月24日
专业班级自动化1301姓名杨镭学号1同组人
实验名称实验二系统的能控性、能观测性、稳定性分析及实现评分
批阅教师签字
一、实验目的
加深理解能观测性、能控性、稳定性、最小实现等观念。
掌握如何使用MATLAB进行以下分析和实现:
1、系统的能观测性、能控性分析;
2、系统的稳定性分析;
3、系统的最小实现。
二、实验内容
(1)能控性、能观测性及系统实现
(a)了解以下命令的功能;自选对象模型,进行运算,并写出结果。
gram,ctrb,obsv,lyap,ctrbf,obsvf,minreal;
(b)已知连续系统的传递函数模型,
,当a分别取-1,0,1时,判别系统的能控性与能观测性;
(c)已知系统矩阵为
,
,
,判别系统的能控性与能观测性;
(d)求系统
的最小实现。
(2)稳定性
(a)代数法稳定性判据
已知单位反馈系统的开环传递函数为:
,试对系统闭环判别其稳定性
(b)根轨迹法判断系统稳定性
已知一个单位负反馈系统开环传递函数为
,试在系统的闭环根轨迹图上选择一点,求出该点的增益及其系统的闭环极点位置,并判断在该点系统闭环的稳定性。
(c)Bode图法判断系统稳定性
已知两个单位负反馈系统的开环传递函数分别为
用Bode图法判断系统闭环的稳定性。
(d)判断下列系统是否状态渐近稳定、是否BIBO稳定。
三、实验环境
1、计算机120台;
2、软件1套。
四、实验原理(或程序框图)及步骤
系统能控性、能观性分析
系统的能控性、能观测性分析是多变量系统设计的基础,包括能控性、能观测性的定义和判别。
系统能控性
系统状态能控性定义的核心是:
对于线性连续定常系统,若存在一个分段连续的输入函数u(t),在有限的时间(t1-t0)内,能把任一给定的初态x(t0)转移至预期的终端x(t1),则称此状态是能控的。
若系统所有的状态都是能控的,则称该系统是状态完全能控的。
能控性判别分为状态能控性判别和输出能控性判别。
状态能控性分为一般判别和直接判别法,后者是针对系统的系数阵A是对角标准形或约当标准形的系统,状态能控性判别时不用计算,应用公式直接判断,是一种直接简易法;前者状态能控性分为一般判别是应用最广泛的一种判别法。
输出能控性判别式为:
(2-1)
状态能控性判别式为:
(2-2)
系统能观测性
系统状态能观测性的定义:
对于线性连续定常系统,如果对t0时刻存在ta,t0 ,根据[t0,ta]上的y(t)的测量值,能够唯一地确定系统在t0时刻的任意初始状态x0,则称系统在t0时刻是状态完全能观测的,或简称系统在[t0,ta]区间上能观测。 状态能观测性也分为一般判别和直接判别法,后者是针对系统的系数阵A是对角标准形或约当标准形的系统,状态能观性判别时不用计算,应用公式直接判断,是一种直接简易法;前者状态能观测性分为一般判别是应用最广泛的一种判别法。 状态能观测性判别式为: (2-3) 系统的传递函数阵和状态空间表达式之间的有(1-2)式所示关系。 已知系统的传递函数阵表述,求其满足(1-2)式所示关系的状态空间表达式,称为实现。 实现的方式不唯一,实现也不唯一。 其中,当状态矩阵A具有最小阶次的实现称为最小实现,此时实现具有最简形式。 五、程序源代码及运行结果 (1)能控性、能观测性及系统实现 (a)了解以下命令的功能;自选对象模型,进行运算,并写出结果。 gram,ctrb,obsv,lyap,ctrbf,obsvf,minreal; 1gram命令: 求解用状态空间向量表示的系统的能控性或能观性Gramian矩阵 实验程序: a=[010;001;-6-11-6];b=[01;10;01];c=[101;010];d=0; G=ss(a,b,c,d); wc=gram(G,'c') wo=gram(G,'o') 运行结果: wc= wo= 2ctrb命令: 求系统的能控性判别矩阵 实验程序: Qc=ctrb(A,B) n=length(A); nc=rank(Qc); ifn==nc,disp('系统完全能控'), elsedisp('系统不完全能控'),end 运行结果: Qc= 011001 1001-11-12 01-11-126061 系统完全能控 3obsv命令: 求系统的能观测性判别矩阵 实验程序: Qo=obsv(A,C) no=rank(Qo); ifn==no,disp('系统完全能观'), elsedisp('系统不完全能观'),end 运行结果: Qo= 101 010 -6-10-6 001 366026 -6-11-6 系统完全能观 4lyap命令: 构造系统的Lyaponov函数 实验程序: A1=A'; Q=eye(3,3); P=lyap(A1,Q) 运行结果: P= 5ctrbf命令: 对状态空间模型进行能控性分解 实验程序: [A1,B1,C1,T,K]=ctrbf(A,B,C) 运行结果: A1= 0 B1= 0 0 0 C1= 0 00 T= 0 00 0 K= 210 6obsvf命令: 对状态空间模型进行能观性分解 实验程序: [A2,B2,C2,T,K]=obsvf(A,B,C) 运行结果: A2= 0 B2= 0 0 0 C2= 0 00 T= 0 00 0 K= 210 7minreal命令: 求系统状态空间表达式的最小实现 实验程序: Gm=minreal(G); Am1= Bm1= Cm1= Dm1= 运行结果: Am1= 010 001 -6-11-6 Bm1= 01 10 01 Cm1= 101 010 Dm1= 00 00 (b)已知连续系统的传递函数模型, ,当a分别取-1,0,1时,判别系统的能控性与能观测性; ①a=-1时: 源程序: num=[1-1];den=[1102718];a=-1; [A,B,C,D]=tf2ss(num,den); Qc=ctrb(A,B) n=length(A); nc=rank(Qc); ifn==nc,disp('系统完全能控'), elsedisp('系统不完全能控'),end Qo=obsv(A,C) no=rank(Qo); ifn==no,disp('系统完全能观'), elsedisp('系统不完全能观'),end 运行结果: Qc= 1-1073 01-10 001 系统完全能控 Qo= 01-1 1-10 -11-27-18 系统完全能观 ②a=0时: 源程序: num=[10]; Qc=ctrb(A,B) nc=rank(Qc); ifn==nc,disp('系统完全能控'), elsedisp('系统不完全能控'),end Qo=obsv(A,C) no=rank(Qo); ifn==no,disp('系统完全能观'), elsedisp('系统不完全能观'),end 运行结果: Qc= 1-1073 01-10 001 系统完全能控 Qo= 01-1 1-10 -11-27-18 系统完全能观 ③a=1时: 源程序: num=[11]; Qc=ctrb(A,B) nc=rank(Qc); ifn==nc,disp('系统完全能控'), elsedisp('系统不完全能控'),end Qo=obsv(A,C) no=rank(Qo); ifn==no,disp('系统完全能观'), elsedisp('系统不完全能观'),end 运行结果: Qc= 1-1073 01-10 001 系统完全能控 Qo= 01-1 1-10 -11-27-18 系统完全能观 (c)已知系统矩阵为 , , ,判别系统的能控性与能观测性; 源程序: A=[;101;012];B=[0;1;1];C=[102]; n=length(A); Qc=ctrb(A,B) nc=rank(Qc); ifn==nc,disp('系统完全能控'), elsedisp('系统不完全能控'),end Qo=obsv(A,C) no=rank(Qo); ifn==no,disp('系统完全能观'), elsedisp('系统不完全能观'),end 运行结果: Qc= 0 系统完全能控 Qo= 0 系统完全能观 (d)求系统 的最小实现。 源程序: num=[11];den=[1102718]; G=tf(num,den);Gs=ss(G); Gm=minreal(Gs); Am= Bm= Cm= Dm= 运行结果: 1stateremoved. Am= Bm= Cm= Dm= 0 (2)稳定性 (a)代数法稳定性判据 已知单位反馈系统的开环传递函数为: ,试对系统闭环判别其稳定性 源程序: n1=[100];n2=[12]; d1=[10];d2=[11];d3=[120]; gkn=conv(n1,n2);gdk=conv(conv(C,D),E); [num,den]=cloop(gkn,gdk); disp('极点: ') p=roots(den) ss=find(real(p)>0); tt=length(ss); if(tt>0) disp('系统不稳定') else disp('系统稳定') end 运行结果: 极点: p= 系统稳定 (b)根轨迹法判断系统稳定性 已知一个单位负反馈系统开环传递函数为 ,试在系统的闭环根轨迹图上选择一点,求出该点的增益及其系统的闭环极点位置,并判断在该点系统闭环的稳定性。 源程序: n1=1; d1=conv([010],conv([015],conv([016],[122]))); s1=tf(n1,d1); rlocus(s1); [k,poles]=rlocfind(s1) title('系统闭环根轨迹') xlabel('实轴');ylabel('虚轴'); ss=find(real(poles)>0); tt=length(ss); if(tt>0) disp('系统不稳定') else disp('系统稳定') end 运行结果: Selectapointinthegraphicswindow selected_point= - k= poles= + - 系统稳定 (c)Bode图法判断系统稳定性 已知两个单位负反馈系统的开环传递函数分别为 用Bode图法判断系统闭环的稳定性。 源程序: p=bodeoptions; ='on'; ='Hz'; num1=[];den1=[1540];num2=[];den2=[15-40]; G1=tf(num1,den1);G2=tf(num2,den2); figure (1); bode(G1,p) xlabel('频率');ylabel('相角'); title('伯德图'); 运行结果: 源程序: bode(G2,p) xlabel('频率');ylabel('相角'); title('伯德图'); 运行结果: 由伯德图上的标注“ClosedLoopStable”可知,当“Yes”时,系统闭环稳定;当“No”时,系统闭环不稳定。 由此可知,G1(s)闭环稳定,G2(s)闭环不稳定。 (d)判断下列系统是否状态渐近稳定、是否BIBO稳定。 ①判断系统是否渐近稳定 源程序: A=[010;001;2500-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 报告 电子版