您所在位置:网站首页 > 海量文档
 > 计算机 > matlab
利用MATLAB 实现极点配置、设计状态观测器(现代控制).doc14页
本文档一共被下载:次,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
实 验 报 告
实验名称 利用MATLAB 实现极点配置、设计状态观测器
系专业自动化班姓名学号授课老师预定时间实验时间实验台号
一、目的要求
1、掌握状态反馈和输出反馈的概念及性质。
2、掌握利用状态反馈进行极点配置的方法。学会用MATLAB 求解状态反馈矩阵。
3、掌握状态观测器的设计方法。学会用MATLAB 设计状态观测器。
4、熟悉分离定理,学会设计带有状态观测器的状态反馈系统。
原理简述
状态反馈和输出反馈
设线性定常系统的状态空间表达式为
如果采用状态反馈控制规律u= r-Kx,其中 r是参考输入,则状态反馈闭环系统的传递函数为:
2、极点配置
如果 SISO 线性定常系统完全能控,则可通过适当的状态反馈, 将闭环系统极点配置到任意期望的位置。
MATLAB 提供的函数acker( )是用Ackermann 公式求解状态反馈阵K。该函数的调用格
式为
K=acker(A,B,P)
其中A 和B 分别为系统矩阵和输入矩阵。P 是期望极点构成的向量。
MATLAB 提供的函数place( )也可求出状态反馈阵K。该函数的调用格式为
K=place(A,B,P)
函数place( )还适用于多变量系统极点配置,但不适用含有多重期望极点的问题。函数acker( )不适用于多变量系统极点配置问题,但适用于含有多重期望极点问题。
三、仪器设备
PC 计算机,MATLAB 软件
内容步骤、数据处理
题5-1 某系统状态方程如下
理想闭环系统的极点为,试
(1)采用直接计算法进行闭环系统极点配置;
(2)采用Ackermann公式计算法进行闭环系统极点配置;
(3)采用调用place函数法进行闭环系统极点配置。
>> 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);
[Q,D]=eig(A)
结果:
Q =
0.2995 0.3197 - 0.0731i 0.3197 + 0.0731i
-0.4944 0.0573 + 0.5074i 0.0573 - 0.5074i
0.8160 -0.7948 -0.7948
D =
-1.6506 0 0
0 -0.1747 + 1.5469i 0
0 0 -0.1747 - 1.5469i
则矩阵A的特征根为:-1.6506,-0.1747 + 1.5469i,-0.1747 - 1.5469i
程序:
>> A=[0 1 0;0 0 1;-4 -3 -2];
B=[1;3; -6];
C=[1 0 0];
D=0;
p=[-1 -2 -3];
k=acker(A,B,p)
结果:k =1.4809 0.7481 -0.0458
验证:
>> A=[0 1 0;0 0 1;-4 -3 -2];
B=[1;3;6];
C=[1 0 0];
D=0;
k=[0.5053 0.7052 0.2299];
A1=A-B*k;
sys=ss(A1,B,C,D);
G1=zpk(sys)
结果:Zero/pole/gain:
(s^2 + 5s + 15)
-------------------------
(s+1) (s+1.999) (s+3.001)
则其极点为-1 ,-2 ,-3
(2)
程序:
>> A=[0 1 0;0 0 1;-4 -3 -2];
B=[1;3; -6];
C=[1 0 0];
D=0;
p=[-1 -2 -3];
k=place(A,B,p)
结果:k = 1.4809 0.7481 -0.0458
验证:
程序:
>> A=[0 1 0;0 0 1;-4 -3 -2];
B=[1;3; -6];
C=[1 0 0];
D=0;
p=[-1 -2 -3];
k=place(A,B,p);
A1=A-B*k;
sys=ss(A1,B,C,D);
G1=zpk(sys)
结果:
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名:
验证码:
匿名?
发表评论