最新现代控制理论实验报告中南大学.docx
- 文档编号:3392618
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:22
- 大小:131.83KB
最新现代控制理论实验报告中南大学.docx
《最新现代控制理论实验报告中南大学.docx》由会员分享,可在线阅读,更多相关《最新现代控制理论实验报告中南大学.docx(22页珍藏版)》请在冰豆网上搜索。
最新现代控制理论实验报告中南大学
中南大学
现代控制实验报告
指导老师
设计者
学号
专业班级
设计日期
实验一用MATLAB分析状态空间模型
1、实验设备
PC计算机1台,MATLAB软件1套。
2、实验目的
①学习系统状态空间表达式的建立方法、了解系统状态空间表达式与传递函数相互转换的方法;
②通过编程、上机调试,掌握系统状态空间表达式与传递函数相互转换方法。
3、实验原理说明
线性系统数学模型的常见的形式有,输入输出模式数学模型(传递函数和微分方程)和状态空间模式数学模型(状态空间表达式或动态方程)。
传递函数模型一般可表示为:
若上式中分子分母各项系数为常数,则系统称为线性定常系统(lineartimeinvariant,LTI)
利用下列命令可轻易地将传递函数模型输入MATLAB环境中。
>>num=[b0,b1,…,bn];
>>den=[1,a1,a2,…,an];
而调用tf()函数可构造出对应传递函数对象。
调用格式为:
>>G=tf(num,den);
其中(num,den)分别为系统的分子和分母多项式系数的向量,返回变量G为系统传递函数对象。
线性定常系统的状态空间模型可表示为
表示状态空间模型的基本要素是状态向量和常数矩阵A,B,C,D。
用类似的方法可将其输入MATLAB环境,对单输入单输出系统,
>>A=[a11,a12,…a1n;a21,a22,…a2n;…;an1,an2,…ann];
>>B=[b1;b2;…;bn];
>>C=[c1,c2,…cn];
>>D=d;
调用ss()状态方程对象可构造状态方程模型,调用格式如下:
>>ss(A,B,C,D)
对于两种模型之间的转换,则可分别调用tf()和ss()完成,即:
>>G1=tf(G)
>>G2=ss(G’)
4、实验步骤
1根据所给系统的传递函数或A、B、C矩阵,依据系统的传递函数阵和状态空间表达式之间的关系式,采用MATLAB编程。
2在MATLAB界面下调试程序,并检查是否运行正确。
题1.1已知SISO系统的传递函数为
(1)将其输入到MATLAB工作空间;
(2)获得系统的状态空间模型。
题1.2 已知SISO系统的状态空间表达式为
,
(1)将其输入到MATLAB工作空间;
(2)求系统的传递函数。
题1.1代码及结果
num=[1,5,8];
den=[1,2,6,3,9];
G=tf(num,den);
G1=ss(G)
a=
x1x2x3x4
x1-2-1.5-0.375-1.125
x24000
x30200
x40010
b=
u1
x11
x20
x30
x40
c=
x1x2x3x4
y100.250.6251
d=
u1
y10
Continuous-timemodel.
题1.2代码及结果
A=[0,1,0;0,0,1;-4,-3,-2];
B=[1;3;-6];
C=[1,0,0];
D=0;
G=ss(A,B,C,D);
G1=tf(G)
Transferfunction:
s^2+5s+3
-------------------------
s^3+2s^2+3s+4
实验二利用MATLAB求解系统的状态方程
1、实验设备
PC计算机1台,MATLAB软件1套。
2、实验目的
①学习系统齐次、非齐次状态方程求解的方法,计算矩阵指数,求状态响应;
②通过编程、上机调试,掌握求解系统状态方程的方法,学会绘制状态响应曲线;
③掌握利用MATLAB导出连续状态空间模型的离散化模型的方法。
3、实验原理说明
在MATLAB中,调用expm(A)可求得矩阵指数;调用step()可求取阶跃输入时系统的状态响应;调用lsim()可求取零状态响应;调用initial()可求取零输入响应。
它们的调用格式分别如下:
>>expm(A)
>>[y,t,x]=step(G)
>>[y,t,x]=lsim(G,u,t)
>>[y,t,x]=initial(G,x0)
4、实验步骤
(1)根据所给系统的状态方程,依据系统状态方程的解的表达式,采用MATLAB编程。
(2)在MATLAB界面下调试程序,并检查是否运行正确。
题2.1已知SISO系统的状态方程为
(1)
,
,求当t=0.5时系统的矩阵系数及状态响应;
(2)
,
,绘制系统的状态响应及输出响应曲线;
(3)
,
,绘制系统的状态响应及输出响应曲线;
(4)
,
,绘制系统的状态响应及输出响应曲线;
(5)在余弦输入信号和初始状态
下的状态响应曲线。
题2.2已知一个连续系统的状态方程是
若取采样周期
秒
(1)试求相应的离散化状态空间模型;
(2)分析不同采样周期下,离散化状态空间模型的结果。
题2.1代码及结果
(1).
>>A=[0,1;-2,-3];
>>expm(A*0.5)
ans=
0.84520.2387
-0.47730.1292
>>x0=[1;-1];
>>x=expm(A*0.5)*x0
x=
0.6065
-0.6065
(2).
>>A=[0,1;-2,-3];B=[3;0];C=[1,1];D=0;
>>G=ss(A,B,C,D);[y,t,x]=step(G);plot(t,x)
状态响应:
plot(t,y)
输出响应:
(3).
A=[0,1;-2,-3];B=[3;0];C=[1,1];D=0;
t=[0:
.04:
4];u=1+exp(-t).*cos(3*t);
G=ss(A,B,C,D);[y,t,x]=lsim(G,u,t);plot(t,x)
状态响应:
plot(t,y)
输出响应:
(4).
A=[0,1;-2,-3];B=[3;0];C=[1,1];D=0;
t=[0:
.04:
7];u=0;x0=[1;2];G=ss(A,B,C,D);
[y,t,x]=initial(G,x0,t);plot(t,x)
状态响应:
plot(t,y)
输出响应:
(5).
A=[0,1;-2,-3];B=[3;0];C=[1,1];D=zeros(1,1);
x0=[1;1];t=[0:
.04:
15];u=cos(t);
G=ss(A,B,C,D);
G1=tf(G);
[y1,t,x1]=initial(G,x0,t);
[y2,t,x2]=lsim(G,u,t);
y=y1+y2;
x=x1+x2;
plot(t,x);
状态响应:
题2.2代码及结果
>>A=[0,1;-25,-4];B=[0;1];
>>[Gz,Hz]=c2d(A,B,0.05)
Gz=
0.97090.0448
-1.12120.7915
Hz=
0.0012
0.0448
实验三系统的能控性、能观测性分析
1、实验设备
PC计算机1台,MATLAB软件1套。
2、实验目的
①学习系统状态能控性、能观测性的定义及判别方法;
②通过用MATLAB编程、上机调试,掌握系统能控性、能观测性的判别方法,掌握将一般形式的状态空间描述变换成能控标准形、能观标准形。
3、实验原理说明
由系统状态方程求能控性矩阵Uc,调用函数rank()可求得Uc的秩,从而判断系统的能控性,同理求得能观性矩阵Uo,用rank()求其秩,再判断系统的能观性。
4、实验步骤
1根据系统的系数阵A和输入阵B,依据能控性判别式,对所给系统采用MATLAB编程;在MATLAB界面下调试程序,并检查是否运行正确。
2根据系统的系数阵A和输出阵C,依据能观性判别式,对所给系统采用MATLAB编程;在MATLAB界面下调试程序,并检查是否运行正确。
3构造变换阵,将一般形式的状态空间描述变换成能控标准形、能观标准形。
题3.1 已知系数阵A和输入阵B分别如下,判断系统的状态能控性
,
题3.2 已知系数阵A和输出阵C分别如下,判断系统的状态能观性。
,
题3.3 已知系统状态空间描述如下
(1)判断系统的状态能控性;
(2)判断系统的状态能观测性;
(3)构造变换阵,将其变换成能控标准形;
(4)构造变换阵,将其变换成能观测标准形;
题3.1代码及结果
A=[6.666,-10.6667,-0.3333;1,0,1;0,1,2];B=[0;1;1];
Uc=[B,A*B,A^2*B];
rank(Uc)
ans=
3
题3.2代码及结果
A=[6.666,-10.6667,-0.3333;1,0,1;0,1,2];C=[1,0,2];
Uo=[C;C*A;C*A^2];
rank(Uo)
ans=
3
题3.3代码及结果
A=[0,2,-1;5,1,2;-2,0,0];B=[1;0;-1];C=[1,1,0];
Uc=[B,A*B,A^2*B];
Uo=[C;C*A;C*A^2];
(1).判断能控性:
rank(Uc)
ans=
3
(2).判断能观性:
>>rank(Uo)
ans=
3
(3).构造变换阵,转化成能控标准型:
A=[0,2,-1;5,1,2;-2,0,0];B=[1;0;-1];C=[1,1,0];
Uc=[B,A*B,A^2*B];
rank(Uc);
p1=[0,0,1]*inv(Uc);
P=[p1;p1*A;p1*A^2]
P=
0.13640.04550.1364
-0.04550.3182-0.0455
1.68180.22730.6818
>>Ac=P*A*inv(P)
Ac=
01.00000
00.00001.0000
-10.000012.00001.0000
>>Bc=P*B
Bc=
0
0
1.0000
(4).构造变换阵,转化成能观标准型:
A=[0,2,-1;5,1,2;-2,0,0];B=[1;0;-1];C=[1,1,0];
Uo=[C;C*A;C*A^2];
rank(Uo);
T1=inv(Uo)*[0;0;1];
T=[T1,A*T1,A^2*T1]
T=
-0.50000-1.0000
0.500002.0000
1.00001.00000
>>Ao=inv(T)*A*T
Ao=
00-10
1012
011
>>Co=C*T
Co=
001
实验四系统稳定性分析
1、实验设备
PC计算机1台,MATLAB软件1套。
2、实验目的
①学习系统稳定性的定义及李雅普诺夫稳定性定理;
②通过用MATLAB编程、上机调试,掌握系统稳定性的判别方法。
3、实验原理说明
根据李雅普诺夫第一第二方法判断系统的稳定性。
4、实验步骤
(1)掌握利用李雅普诺夫第一方法判断系统稳定性;
(2)掌握利用李雅普诺夫第二方法判断系统稳定性。
题4.1 某系统状态空间描述如下
(1)利用李雅普诺夫第一方法判断其稳定性;
(2)利用李雅普诺夫第二方法判断其稳定性。
题4.1代码及结果
(1)李雅普诺夫第一方法:
%存为stability.m
%输入系统状态方程
A=[0,2,-1;5,1,2;-2,0,0];B=[1;0;-1];C=[1,1,0];D=0;
%设立标志变量,判断是否稳定
flag=0;
%求解零极点及增益
[z,p,k]=ss2zp(A,B,C,D,1);
%显示结果
disp('Systemzero-points,pole-pointsandgainare:
');
z
p
k
%判断是否稳定
n=length(A);
fori=1:
n
ifreal(p(i))>0
flag=1;
end
end
ifflag==1
disp('Systemisunstable');
else
disp('Systemisstable');
end
%运行
>>stability
Systemzero-points,pole-pointsandgainare:
z=
1.0000
-4.0000
p=
-3.3978
3.5745
0.8234
k=
1
Systemisunstable
(2)李雅普诺夫第二方法:
%存为stability2.m
%系统状态方程模型
A=[0,2,-1;5,1,2;-2,0,0];
%选Q=I
Q=eye(3,3);
%求解矩阵P
P=lyap(A,Q);
%显示矩阵P的各阶主子式的值并判断是否稳定
flag=0;
n=length(A);
fori=1:
n
det(P(1:
i,1:
i))
if(det(P(1:
i,1:
i))<=0)
flag=1;
end
end
%显示结果
ifflag==1
disp('Systemisunstable');
else
disp('Systemisstable');
end
%运行
>>stability2
ans=
-2.1250
ans=
-8.7813
ans=
6.1719
Systemisunstable
实验五利用MATLAB实现极点配置、设计状态观测器
1、实验设备
PC计算机1台,MATLAB软件1套。
2、实验目的
①学习闭环系统极点配置定理及算法,学习全维状态观测器设计方法;
②通过用MATLAB编程、上机调试,掌握极点配置算法,设计全维状态观测器。
3、实验原理说明
采用直接计算反馈矩阵、Ackermann公式计算法、调用place函数法进行闭环系统极点配置。
设计全维状态观测器。
4、实验步骤
(1)掌握采用直接计算法、采用Ackermann公式计算法、调用place函数法分别进行闭环系统极点配置;
(2)掌握利用MATLAB设计全维状态观测器。
题5.1 某系统状态方程如下
理想闭环系统的极点为
,试
(1)采用直接计算法进行闭环系统极点配置;
(2)采用Ackermann公式计算法进行闭环系统极点配置;
(3)采用调用place函数法进行闭环系统极点配置。
题5.2 某系统状态空间描述如下
设计全维状态观测器,要求状态观测器的极点为
。
题5.1代码及结果
(1)直接计算法:
%存为pole.m
%系统状态方程模型
A=[0,1,0;0,0,1;-4,-3,-2];B=[1;3;-6];C=[1,0,0];D=0;
%理想闭环极点
P=[-1,-2,-3];
symsk1k2k3s;
K=[k1,k2,k3];
eg=simple(det(s*diag(diag(ones(size(A))))-A+B*K));
f=1;
fori=1:
3
f=simple(f*(s-P(i)));
end
f=f-eg;
[k1,k2,k3]=solve(subs(f,'s',0),subs((diff(f,'s')),'s',0),diff(f,'s',2))
%运行
>>pole
k1=
194/131
k2=
98/131
k3=
-6/131
(2)采用Ackermann公式计算:
%存为bijuan.m
%系统状态方程模型
A=[0,1,0;0,0,1;-4,-3,-2];B=[1;3;-6];C=[1;0;0];
%理想闭环极点
P=[-1,-2,-3];
K=acker(A,B,P)
A-B*K
%运行
>>bihuan
K=
1.48090.7481-0.0458
ans=
-1.48090.25190.0458
-4.4427-2.24431.1374
4.88551.4885-2.2748
(3)调用place函数法:
%存为bihuan.m
%系统状态方程模型
A=[0,1,0;0,0,1;-4,-3,-2];B=[1;3;-6];C=[1;0;0];
eig(A)'
%理想闭环极点
P=[-1,-2,-3];
K=place(A,B,P)
eig(A-B*K)'
%运行
>>bihuan
ans=
-1.6506-0.1747-1.5469i-0.1747+1.5469i
K=
1.48090.7481-0.0458
ans=
-3.0000-2.0000-1.0000
题5.2代码及结果:
%存为quanwei.m
%系统状态方程
A=[0,1,0;0,0,1;-4,-3,-2];B=[1;3;-6];C=[1,0,0];
n=3;
%计算能观性矩阵
ob=obsv(A,C);
%计算能观性矩阵的秩
roam=rank(ob);
%判断系统能观性
ifroam==n
disp('Systemisobservable');
elseifroam~=n
disp('Systemisnotobservable');
end
%运行
>>quanwei
Systemisobservable
%设计全维状态观测器
%系统状态方程
A=[0,1,0;0,0,1;-4,-3,-2];B=[1;3;-6];C=[1,0,0];
%理想闭环极点
P=[-1,-2,-3];
A1=A';B1=C';C1=B';
K=acker(A1,B1,P);
%求解系统矩阵
(三)DIY手工艺品的“自助化”E=(K)'
、DIY手工艺市场现状分析aEc=A-E*C
(四)DIY手工艺品的“个性化”%运行
上海市劳动和社会保障局所辖的“促进就业基金”,还专门为大学生创业提供担保,贷款最高上限达到5万元。
>>quanwei
送人□有实用价值□装饰□E=
4
0
-10
大学生对手工艺制作兴趣的调研
aEc=
2003年,上海市人均GDP按户籍人口计算就达到46700元,是1995年的2.5倍;居民家庭人均月可支配收入为14867元,是1995年的2.1倍。
收入不断增加的同时,居民的消费支出也在增加。
2003年上海居民人均消费支出为11040元,其中服务性消费支出为3369元,是1995年的3.6倍。
-410
001
我们认为:
创业是一个整合的过程,它需要合作、互助。
大学生创业“独木难支”。
在知识经济时代,事业的成功来自于合作,团队精神。
创业更能培养了我们的团队精神。
我们一个集体的智慧、力量一定能够展示我们当代大学生的耐心.勇气和坚强的毅力。
能够努力克服自身的弱点,取得创业的成功。
6-3-2
喜欢□一般□不喜欢□
情感性手工艺品。
不少人把自制的手机挂坠作为礼物送给亲人朋友,不仅特别,还很有心思。
每逢情人节、母亲节等节假日,顾客特别多。
实验心得:
通过这次实验,我对于Matlab的使用更加熟悉,深深的感受到了这个软件的魅力所在。
它强大的运算功能让我深深的折服了!
在自己编程的过程中,我对于相关的知识有了更深的认知,系统的能控性、能观测性,系统的极点配置等等,掌握的更加熟悉!
我相信,这对于以后的学习,会有更大的帮助!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 现代 控制 理论 实验 报告 中南 大学