新疆大学自动控制理论实验指导书2.docx
- 文档编号:3222055
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:23
- 大小:225.61KB
新疆大学自动控制理论实验指导书2.docx
《新疆大学自动控制理论实验指导书2.docx》由会员分享,可在线阅读,更多相关《新疆大学自动控制理论实验指导书2.docx(23页珍藏版)》请在冰点文库上搜索。
新疆大学自动控制理论实验指导书2
第二部分现代控制理论
实验一用MATLAB进行数学模型的变换
一、实验目的
1.学习MATLAB语言中常用命令;
2.利用MATLAB编程完成数学模型的变换;
3.进一步加深对所学理论的理解;
二、主要实验设备及仪器
1.计算机一台
2.MATLAB软件
三、实验内容
系统的闭环传递函数为:
相应的状态空间表达式为:
1.由系统的闭环传递函数转换为状态空间表达式:
函数格式为:
[ABCD]=tf2ss(num,den)
例如:
程序为:
num=[123];
den=[1576];
[ABCD]=tf2ss(num,den)
运行结果为:
A=-5-7-6
100
010
B=1
0
0
C=123
D=0
即:
若加入g=ss(A,B,C,D),则继续显示:
a=
x1x2x3
x1-5-7-6
x2100
x3010
b=
u1
x11
x20
x30
c=
x1x2x3
y1123
d=
u1
y10
Continuous-timemodel.
2.由系统的状态空间表达式转换为闭环传递函数:
(1)单输入—单输出系统:
函数格式为:
[num,den]=ss2tf(a,b,c,d)
例如:
程序为:
a=[01-1;-6-116;-6-115];
b=[001]';
c=[100];
d=[0];
[num,den]=ss2tf(a,b,c,d)
运行结果为:
num=00.0000-1.0000-5.0000
den=1.00006.000011.00006.0000
即:
(2)多输入—多输出系统:
函数格式为:
[NUM,den]=ss2tf(a,b,c,d,iu)
iu表示第几个输入,例如r=2,则iu分别为1、2
例如:
程序为:
a=[124;345;142];
b=[362;001]';
c=[142;462];
d=[00;10];
[NUM,den]=ss2tf(a,b,c,d,1)
[NUM,den]=ss2tf(a,b,c,d,2)
运行结果为:
NUM=031.000040.000036.0000
1.000045.000032.000088.0000
den=1.0000-7.0000-16.0000-18.0000
NUM=02.000014.000018.0000
02.000036.000014.0000
den=1.0000-7.0000-16.0000-18.0000
即:
3.由系统的闭环传递函数转换为对角标准型
函数格式为:
[P,R,K]=residue(num,den)
其中:
P表示
,R表示
,K表示d
例如:
程序为:
[a,b,c]=residue([21],[17148]);
A=diag(b)%生成对角阵
B=ones(length(a),1)%生成length(a)×1的全1阵
C=rot90(a)%矩阵转秩
D=c
运行结果为:
A=-4.000000
0-2.00000
00-1.0000
B=1
1
1
C=-1.16671.5000-0.3333
D=[]
四、实验报告
1.记录或拷贝所分析系统的各种计算结果;
2.利用MATLAB编制程序完成下列作业:
(1)已知系统的动态特性是由下列微分方程或传递函数描述,试建立其状态空间表达式
(2)试求下列状态空间表达式的传递函数(阵)
(3)试建立其对角标准型
五、实验分析
用MATLAB命令转换的状态空间表达式与课本里介绍的方法有何异同,为什么?
实验二用MATLAB求线性定常系统状态空间表达式的解
一、实验目的
1.学习MATLAB语言中常用命令;
2.利用MATLAB编程完成线性定常系统状态空间表达式的求解;
3.进一步加深对所学理论的理解;
二、主要实验设备及仪器
1.计算机一台
2.MATLAB软件
三、实验内容
1.MATLAB中的step,impulse和initial函数分别用来求连续系统的单位阶跃响应,单位脉冲响应和零输入响应,因此,编写MATLAB程序是很简单的。
函数格式为:
step(num,den)
step(A,B,C,D)
其中,subplot(1,3,1)表示所绘制的图形放在一行三列的第一列,plot(x,y,’选项’)用于在图形窗口上绘制所需的二维图形(选项:
b—蓝,g—绿,r—红,*—星号线,。
—圆圈线…..)。
例题1:
a=[01;-2-2];
b=[01;22]';
c=[12;02];
d=[13;04];
x0=[122]';
subplot(1,3,1)
step(a,b,c,d)
subplot(1,3,2)impulse(a,b,c,d)subplot(1,3,3)initial(a,b,c,d,x0)
运行结果为:
如图2-1
例题2:
a=[04;-2-2];
b=[01]';
c=[12];
d=0;
x0=[12]';
subplot(1,3,1)
step(a,b,c,d)
subplot(1,3,2)mpulse(a,b,c,d)subplot(1,3,3)initial(a,b,c,d,x0)
运行结果为:
如图2-2
例题3:
a=[01;-2-2];
b=[01;10]';
c=[12];
d=[00];
x0=[12]';
subplot(3,1,1)
step(a,b,c,d)
subplot(3,1,2)
impulse(a,b,c,d)
subplot(3,1,3)
initial(a,b,c,d,x0)
运行结果为:
如图2-3
图2-1两输入—两输出线性定常系统
图2-2单输入—单输出线性定常系统
图2-3两输入—单输出线性定常系统
例题4:
a=[04;-2-2];
b=[01]';
c=[12];
d=0;
[y,x,t]=step(a,b,c,d);
x1=x(:
1);
x2=x(:
2);
plot(t,x1,'-.r',t,x2,'-k',t,y,'*g')
grid
运行结果为:
如图2-4图2-4单输入—单输出线性定常系统
2.用矩阵指数函数法解状态方程
例1
程序:
A=[01;-2-3];
B=[0;1];
u=1;
[Phit,PhitBu]=chen1(A,B,u)
x0=[1;2];x=Phit*x0+PhitBu
chen1为下列函数文件的文件名。
function[Phit,PhitBu]=vsolvel(A,B,ut)
%求解线性连续系统状态方程X'=AX的解
%[Phit,PhitBu]=vsolvel(A,B,ut)
%A,B系数矩阵
%ut控制输入,必须为时域信号的符号表达式,符号变量为t
symsttao
Phit=expm(A*t);
if(B==0)
B=zero(size(A,1),1);
end
phi=subs(Phit,'t','t-tao');%求exp[A(t-tao)]
PhitBu=int(phi*B*ut,'tao',0,'t');%求exp[A(t-tao)]*B*u(tao)在0-t区间的积分
运行结果:
Phit=[-exp(-2*t)+2*exp(-t),exp(-t)-exp(-2*t)]
[-2*exp(-t)+2*exp(-2*t),2*exp(-2*t)-exp(-t)]
PhitBu=1/2-exp(-t)+1/2*exp(-2*t)
exp(-t)-exp(-2*t)
x=-5/2*exp(-2*t)+3*exp(-t)+1/2
-3*exp(-t)+5*exp(-2*t)
例2
程序:
A=[01;00];
B=[0;1];
u=1;
[Phit,PhitBu]=chen1(A,B,u)
x0=[1;1];x=Phit*x0+PhitBu
运行结果:
Phit=[1,t]
[0,1]
PhitBu=1/2*t^2
t
x=1+t+1/2*t^2
1+t
四、实验报告
1.记录或拷贝所分析系统的各种计算结果;
2.利用MATLAB编制程序完成下列作业:
试求下列状态空间表达式的单位阶跃响应,单位脉冲响应和零输入响应:
五、实验分析
系统的稳定性是否与输入信号有关?
实验三线性定常系统的能控性、能观性判别
一、实验目的
1.学习MATLAB语言中常用命令;
2.利用MATLAB编程完成线性定常系统能控性、能观性的判别;
3.进一步加深对所学理论的理解;
二、主要实验设备及仪器
1.计算机一台
2.MATLAB软件
三、实验内容
MATLAB中的ctrb和obsv分别用来构造能控性判别矩阵M阵和能观性判别矩阵N阵的,rank用来求M阵和N阵的秩。
函数格式为:
M=ctrb(A,B)
N=obsv(A,C)
r=rank(M)
例如1:
已知系统的传递函数为
,试建立其状态空间表达式,并判断其能控性、能观性。
num=[123];
den=[1576];
[ABCD]=tf2ss(num,den)
M=ctrb(A,B)
N=obsv(A,C)
p=rank(M)
q=rank(N)
运行结果为:
A=-5-7-6
100
010
B=1
0
0
C=123
D=0
M=1-518
01-5
001
N=123
-3-4-6
111518
p=3
q=3
结论:
由于M阵和N阵的秩都等于n=3,所以系统是能控能观的。
例如2:
试判断下列多输入—多输出系统的能控性、能观性
A=[120;011;102]
B=[101;020]'
C=[112;010]
M=ctrb(A,B)
N=obsv(A,C)
p=rank(M)
q=rank(N)
[n,m]=size(A);
ifp==n
disp('系统是能控的')
elsedisp('系统是不能控的')
end
ifq==n
disp('系统是能观的')
elsedisp('系统是不能观的')
end
运行结果为:
A=120
011
102
B=10
02
10
C=112
010
M=101438
021242
103074
N=112
010
335
011
8913
113
p=3q=3
系统是能控的
系统是能观的
结论:
由于M阵和N阵的秩都等于n=3,所以系统是能控能观的。
四、实验报告
1.记录或拷贝所分析系统的各种计算结果;
2.利用MATLAB编制程序试判别系统的能控性和能观性。
(1)
(2)
(3)
(4)
(5)
(6)
五、实验分析
1.用随机输入的参数判断系统的能控性和能观性的概率是多少?
2.试用MATLAB中的输入语句来编制一个通用程序。
函数格式为:
s=input(‘提示语句’)
实验四线性定常系统的极点配置
(1)
一、实验目的:
1.明确对系统进行任意极点配置的条件;
2.熟悉和掌握将闭环系统的极点配置在根平面上所期望的位置的一般方法;
3.用MATLAB编程进行实验
二、主要实验设备及仪器
1.计算机一台
2.MATLAB软件
三、实验内容:
控制系统的性能主要取决于系统极点在根平面上的分布。
因此作为综合系统性能指标的一种形式,往往是给出一组期望极点,或者根据时域指标转换成一组等价的期望极点。
极点配置问题,就是通过选择线性状态反馈增益矩阵,将闭环系统的极点恰好配置在根平面上所期望的位置,以获得所期望的动态性能。
对于单输入─单输出线性定常系统,采用状态反馈对受控系统任意配置极点的充要条件是受控系统状态完全能控。
MATLAB的控制系统工具箱中提供了单变量系统极点配置函数acker(),该函数的调用格式为K=acker(A,b,P)
式中,P为给定的期望闭环极点,K为状态反馈增益矩阵。
在MATLAB的m文件编辑器下,输入所编程序并保存,在MATLAB的CommandWindow窗口中输入所编程序的名字,即可显示运行结果。
[例1]:
a=[010;001;-1-2-3]
b=[0;0;1]
c=[121]
d=[0]
m=ctrb(a,b)
rm=rank(m)
[n,m1]=size(A);
ifrm==n
disp('系统是能控的,可以进行极点的任意配置。
')
p=[-1+2*j-1-2*j-3]
k=acker(a,b,p)
A=a-b*k
subplot(1,2,1)
step(a,b,c,d)
grid
subplot(1,2,2)
step(A,b,c,d)
grid
elsedisp('系统是不能控的,不可以进行极点的任意配置。
')
end
运行结果为:
a=010b=0c=121d=0
0010
-1-2-31
m=001
01-3
1-37
rm=3
p=-1.0000+2.0000i-1.0000-2.0000i-3.0000
k=1492
A=010
001
-15-11-5
[例2]:
a=[010;001;-1-2-3]
b=[0;0;1]
m=ctrb(a,b)
rm=rank(m)
p=[-1-2-3]
k=acker(a,b,p)
[例3]:
a=[010;001;-4-2-3]
b=[1;0;0]
m=ctrb(a,b)
rm=rank(m)
p=[-1+j-1-j-3]
k=acker(a,b,p)
四、实验报告
1.记录或拷贝所分析系统的各种计算结果;
2.利用MATLAB编制程序
(1)设受控系统的状态方程为
可否用状态反馈进行极点的任意配置?
若可以,试求状态反馈阵
,使其闭环极点位于
,并画出相应模拟结构图。
(2)作业题任选两道
五、实验分析
1.根据系统阶跃响应曲线,比较极点配置前后系统性能的不同。
2.试用MATLAB中的输入语句来编制一个通用程序。
函数格式为:
s=input(‘提示语句’)
实验四线性定常系统的极点配置(设计性实验)
一、实验目的:
1.熟悉和掌握将闭环系统的极点配置在根平面上所期望的位置的一般方法;
2.用MATLAB进行辅助分析与设计;
3.在模拟实验装置上进行实现。
二、主要实验设备及仪器
1.计算机一台
2.MATLAB软件
3.TKKL-2型控制理论实验箱一台。
4.DF4313D型10MHz慢扫描双踪示波器一台。
5.万用表一只。
三、实验内容:
控制系统的性能主要取决于系统极点在根平面上的分布。
因此作为综合系统性能指标的一种形式,往往是给出一组期望极点,或者根据时域指标转换成一组等价的期望极点。
极点配置问题,就是通过选择线性状态反馈增益矩阵,将闭环系统的极点恰好配置在根平面上所期望的位置,以获得所期望的动态性能。
设控制系统如图所示,要求设计状态反馈阵
,使动态性能指标:
超调量
,峰值时间
秒。
四、实验报告要求
1.设计出原系统的模拟电路;
2.根据性能指标要求,写出设计状态反馈阵
过程及设计结果;
3.利用MATLAB绘制出设计前后的阶跃响应曲线,并进行比较;
4.给出经过实验调试后的设计参数,验证设计的正确性。
五、实验思考题
1.仿真结果与实验结果是否一样?
简单说明原因。
2.对于本次实验,你体会最深的是什么?
实验五线性定常系统状态观测器的设计
一、实验目的:
1.熟悉和掌握单输入——单输出系统状态观测器的设计方法;
2.了解状态观测器理论对状态反馈的意义。
3.用MATLAB编程进行实验
二、主要实验设备及仪器
1.计算机一台
2.MATLAB软件
三、实验内容:
当受控对象能控,利用状态反馈进行极点配置时,需用传感器来测量状态变量以便形成反馈。
但传感器通常用来测量输出,许多中间状态变量不易测得或不可测得,状态观测器解决了受控系统的状态重构问题,可以使状态反馈系统得以实现。
利用对偶原理,将状态观测器的设计转化为对偶系统的极点配置问题,使用MATLAB中的函数
K=acker(A,b,P)
求出对偶系统的K,然后再还原为原系统的G(G为K的转置)。
输入观测器希望的极点及系统的状态方程,得出观测器方程;分析状态观测器对系统性能的影响。
在MATLAB的m文件编辑器下,输入所编程序并保存,在MATLAB的CommandWindow窗口中输入所编程序的名字,即可显示运行结果。
[例1]:
a=[010;001;-6-11-6]
b=[0;0;1]
c=[100]
n=obsv(a,c)
rn=rank(n)
a1=a';
b1=c';
c1=b';
[n,m1]=size(A);
ifrn==n
disp('系统是能观的,可以进行观测器的设计。
')
p=[-2+2*sqrt(3)*j-2-2*sqrt(3)*j-5]
k=acker(a1,b1,p)
l=k'
elsedisp('系统是不能观的,不可以进行观测器的设计。
')
end
运行结果为:
a=010
001
-6-11-6
b=0
0
1
c=100
系统是能观的,可以进行观测器的设计。
观测器的极点为:
p=-2.0000+3.4641i-2.0000-3.4641i-5.0000
G=3.0000
7.0000
-1.0000
四、实验报告
1.记录或拷贝所分析系统的各种计算结果;
2.利用MATLAB编制程序
(1)设受控系统为
设计全维状态观测器,使闭环极点位于
,并画出系统模拟结构图。
(2)作业题任选两道
五、实验分析
1.试用MATLAB中的输入语句来编制一个通用的观测器设计程序。
函数格式为:
s=input(‘提示语句’)
2.试用MATLAB编制一个带有观测器的极点配置程序,观测器及极点配置所需的极点自己设定。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 新疆大学 自动控制 理论 实验 指导书