北京交通大学现代控制理论matlab实验报告.docx

上传人:牧羊曲112 文档编号:2038694 上传时间:2023-01-03 格式:DOCX 页数:41 大小:1.92MB
返回 下载 相关 举报
北京交通大学现代控制理论matlab实验报告.docx_第1页
第1页 / 共41页
北京交通大学现代控制理论matlab实验报告.docx_第2页
第2页 / 共41页
北京交通大学现代控制理论matlab实验报告.docx_第3页
第3页 / 共41页
北京交通大学现代控制理论matlab实验报告.docx_第4页
第4页 / 共41页
北京交通大学现代控制理论matlab实验报告.docx_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《北京交通大学现代控制理论matlab实验报告.docx》由会员分享,可在线阅读,更多相关《北京交通大学现代控制理论matlab实验报告.docx(41页珍藏版)》请在三一办公上搜索。

1、 实验一 利用MATLAB进行线性系统 的模型转换及联结 课程:现代控制理论 姓名:王柬文 学号:11212070 班级:自动化1103 指导教师:张勇 标题1 目录 2 一 实验目的:3 二 实验原理:3 三 实验步骤:6 四 实验要求:7 五 实验内容:8 18 218 329 436 5 37 六 实验感想:40一 实验目的:1、学习系统状态空间模型的建立方法、了解状态空间模型与传递函数、零极点模型之间相互转换的方法;2、通过编程、上机调试,掌握系统状态空间模型与传递函数相互转换的方法。3、通过编程、上机调试,掌握系统模型的联结方法。二 实验原理:一、连续系统(1)状态空间模型 (1.1

2、)其中:是系统的状态向量,是控制输入,是测量输出,是维状态矩阵、是维输入矩阵、是维输出矩阵、是直接转移矩阵。在MATLAB中,用(A,B,C,D)矩阵组表示。系统传递函数和状态空间模型之间的关系如式(1.2)所示。 (1.2)(2)传递函数模型在MATLAB中,直接用分子/分母的系数表示(3)零极点增益模型在MATLAB中,用z, p, k矢量组表示,即二、离散系统(1)传递函数模型(2)零极点增益模型(3)状态空间模型三、三种模型间的转换表示状态空间模型和传递函数的MATLAB函数。 函数ss(state space的首字母)给出了状态空间模型,其一般形式是 SYS = ss(A,B,C,D

3、) 函数tf(transfer function的首字母)给出了传递函数,其一般形式是 G=tf(num,den) 其中的num表示传递函数中分子多项式的系数向量(单输入单输出系统),den表示传递函数中分母多项式的系数向量。 (1)传递函数模型与状态空间模型间的转换:函数tf2ss给出了传递函数的一个状态空间实现,其一般形式是A,B,C,D=tf2ss(num,den)函数ss2tf给出了状态空间模型所描述系统的传递函数,其一般形式是num,den=ss2tf(A,B,C,D,iu)其中对多输入系统,必须确定iu的值。例如,若系统有三个输入和,则iu必须是1、2或3,其中1表示,2表示,3表

4、示。该函数的结果是第iu个输入到所有输出的传递函数。 (2)传递函数模型与零极点模型间的转换:函数tf2zp将传递函数模型转换为零极点模型,其一般形式是z, p, k=tf2zp(num,den)函数zp2tf将零极点模型转换为传递函数模型,其一般形式是num,den=zp2tf(z, p, k)(3)零极点模型与状态空间模型间的转换:函数tf2zp将零极点模型转换为状态空间模型,其一般形式是A,B,C,D=zp2ss(z, p, k)函数zp2tf将状态空间模型转换为零极点模型,其一般形式是z, p, k=ss2zp(A,B,C,D,iu)四、系统建模与模型联结(1)并联 将两个系统按并联方

5、式连接,用parallel函数实现格式:a,b,c,d=parallel(a1,b1,c1,d1,a2,b2,c2,d2)a,b,c,d=parallel(a1,b1,c1,d1,inp1,inp2,out1,out2)a,b,c,d=parallel(num1,den1,num2,den2)(2)串联 将两个系统按串联方式连接,用series函数实现(3)闭环 将系统通过正负反馈连接成闭环系统,用cloop函数实现(4)反馈将两个系统按反馈方式连接成闭环系统,用feedback函数实现(5)利用函数sppend构造增广系统;(6)函数blkbuild和connect得到多个子系统任意联结构成

6、的系统。五、模型转换传递函数可以转换为约旦标准型(包括对角标准型)、能控标准型和能观测标准型。(1) 约旦标准型函数jordants( ) 可用部分分式展开将传递函数转换为对角标准型或约当标准型。该函数的调用格式为:其中num和den分别为传递函数分子和分母多项式系数的行向量,为转换得到对角标准型或约当标准型。该函数的程序如下:function Gj=jordants(num,den) %用部分分式展开将传递函数转换为约当标准型R,P,K=residue(num,den);j=1;q=P(1);m(1)=0;for i=1:length(P) if P(i)=q m(j)=m(j)+1; el

7、se q=P(i); j=j+1; m(j)=1; endend %计算各极点的重数Aj=diag(P);for i=1:length(P)-1 if Aj(i,i)=Aj(i+1,i+1) Aj(i,i+1)=1; else Aj(i,i+1)=0; endend %构造系统矩阵AjB1=0;l=0;for j=1:length(m)l=l+m(j);B1(l)=1;end Bj=B1; %构造输入矩阵Bjn=1;l=m(1);Cj(:,1:m(1)=rot90(R(1:m(1),:),3);for k=2:length(m)n=l+1;l=l+m(k);Cj(:,n:l)=rot90(R(

8、n:l,:),3);end %构造输出矩阵Cj if K= Dj=0;else Dj=K; end %构造直联矩阵Dj Gj=ss(Aj,Bj,Cj,Dj);(2)能控标准型函数ctrlts( )可将传递函数转换为能控标准型。该函数的调用格式为: 其中num和den分别为传递函数的分子和分母多项式系数的行向量,为转换得到的能控标准型。该函数的程序如下:function Gc=ctrlts(num,den) %将传递函数转换为能控标准型m=length(num)-1;n=length(den)-1;if m=nR,P,K=residue(num,den);num1=num-K*den;A(n,:

9、)=-1*rot90(den(:,2:n+1),2);A(1:n-1,2:n)=eye(n-1);A(1:n-1,1)=zeros(n-1,1);B=zeros(n-1,1);1;C=rot90(num1(:,2:n+1),2);D=K; else A(n,:)=-1*rot90(den(:,2:n+1),2);A(1:n-1,2:n)=eye(n-1);A(1:n-1,1)=zeros(n-1,1);B=zeros(n-1,1);1;C(:,1:m+1)=rot90(num,2);C(:,m+2:n)=zeros(1,n-m-1); D=0;endGc=ss(A,B,C,D);三 实验步骤:

10、 1、根据所给系统的已知条件,如传递函数、零极点模型或(A、B、C、D),实现状态空间模型、传递函数模型、零极点增益模型之间的转换,采用MATLAB的相关函数编写m-文件。 2、应用系统建模工具,并联、串联、闭环、反馈等函数解决实际问题。3、在MATLAB界面下调试程序。 四 实验要求:1. 已知系统的传递函数(a) (b) (c) (1)建立系统的TF或ZPK模型。(2)将给定传递函数用函数ss( )转换为状态空间表达式。再将得到的状态空间表达式用函数tf( )转换为传递函数,并与原传递函数进行比较。(3)将给定传递函数用函数jordants( )转换为对角标准型或约当标准型。再将得到的对角

11、标准型或约当标准型用函数tf( )转换为传递函数,并与原传递函数进行比较。(4)将给定传递函数用函数ctrlts( )转换为能控标准型和能观测标准型。再将得到的能控标准型和能观测标准型用函数tf( )转换为传递函数,并与原传递函数进行比较。2. 已知系统的状态空间表达式(a) (b) (1)建立给定系统的状态空间模型。用函数eig( ) 求出系统特征值。用函数tf( ) 和zpk( )将这些状态空间表达式转换为传递函数,记录得到的传递函数和它的零极点。比较系统的特征值和极点是否一致,为什么?(2)用函数canon( )将给定状态空间表达式转换为对角标准型。用函数eig( )求出系统特征值。比较

12、这些特征值和(1)中的特征值是否一致,为什么? 再用函数tf( )和zpk( )将对角标准型或约当标准型转换为传递函数。比较这些传递函数和(1)中的传递函数是否一致,为什么?(3)用函数ctrlss( )将给定的状态空间表达式转换为能控标准型和能观测标准型。用函数eig( )求系统的特征值。比较这些特征值和(1)中的特征值是否一致,为什么?再用函数tf( )将它们转换为传递函数。比较这些传递函数和(1)中的传递函数是否一致,为什么?3. 已知两个子系统 (1)建立两个子系统的传递函数模型。求它们串联、并联、反馈连接时, 整个系统的传递函数模型。然后将所得传递函数模型转换为状态空间模型。(2)将

13、两个子系统的传递函数模型转换为状态空间模型。求它们串联、并联、反馈连接时, 整个系统的状态空间模型。然后将所得状态空间模型转换为传递函数模型。比较(1)和(2)所得的相应的结果。(3)将(2)中所得的整个系统的状态空间模型的系数矩阵与教材中推导出的整个系统的状态空间表达式的系数矩阵比较,是否符合?4应用MATLAB求下面传递函数阵的状态空间实现提示:num =0 0 1 2;0 1 5 35一个双输入双输出系统求出此模型的能控标准型和能观标准型。提示:写出两个子系统的传递函数模型,进而求出这两个传递函数模型的能控标准型实现或能观标准型实现,讨论是否能通过子系统的能控标准型实现或能观标准型实现求

14、出原来系统的能控标准型和能观标准型。五 实验内容1. (1)编辑界面 命令界面(2) 编辑界面 命令界面通过比较发现,转换前后模型有较小变化,基本不发生改变。(3)编辑界面命令界面(a)(b)(c)结论:与原传递函数相一致(4) 编辑界面命令界面结论:函数能够转化为能控矩阵,再次转化后的与原矩阵相一致。2. (1)编辑界面命令界面结论:通过比较发现,用函数eig( ) 求出系统特征值与用函数tf( ) 和zpk( )得到的极点是一致的。(2)编辑界面命令界面结论:用函数canon( )将给定状态空间表达式转换为对角标准型。用函数eig( )求出系统特征值。比较这些特征值和(1)中的特征值相一致

15、,再用函数tf( )和zpk( )将对角标准型或约当标准型转换为传递函数。比较这些传递函数和(1)中的传递函数相一致。(3)编辑界面命令界面结论:都并不完全一致,因为其中G为原状态空间模型,而GJ为转换得到的对角标准型或约当标准型。但该函数在系统含有重特征值时,效果不甚理想。(3) 编辑界面结论:用函数ctrlss( )将给定的状态空间表达式转换为能控标准型和能观测标准型后用函数eig( )求系统的特征值与(1)中的特征值相一致。再用函数tf( )将它们转换为传递函数,这些传递函数和(1)中的传递函数相一致。3. (1)编辑界面命令界面(2) 编辑界面命令界面结论:(1)与(2)两问的结论是一致的。(3) :基本与教材中的结论符合。4. 编辑界面命令界面5. 编辑界面命令界面结论:能通过子系统的能控标准型实现或能观标准型实现求出原来系统的能控标准型和能观标准型。六 实验感想: 通过本次的matlab上机实验,我感觉到matlab这个软件工具的强大,很复杂的求解,通过调用函数,很轻松的就能求出结果,但是我也感觉到了,想要操作好这门软件是需要付出很大的努力的。在编写程序的过程中,出现了许许多多的问题只有在学会自主学习的情况下才能很好地完成实验课题。通过本次实验我不仅学习到了一门十分有用的软件,还增强了自主学习的能力。41

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号