现代控制理论实验指导书

上传人:s9****2 文档编号:507107407 上传时间:2022-08-29 格式:DOC 页数:24 大小:1.58MB
返回 下载 相关 举报
现代控制理论实验指导书_第1页
第1页 / 共24页
现代控制理论实验指导书_第2页
第2页 / 共24页
现代控制理论实验指导书_第3页
第3页 / 共24页
现代控制理论实验指导书_第4页
第4页 / 共24页
现代控制理论实验指导书_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《现代控制理论实验指导书》由会员分享,可在线阅读,更多相关《现代控制理论实验指导书(24页珍藏版)》请在金锄头文库上搜索。

1、现代控制理论实验指导书现代控制理论实验指导书 信息与电子工程学院2008年1月一、 MATLAB简介1980年美国学者MOLER博士在研究线性代数时,为了解决矩阵运算非常烦琐这一问题,构思并开发了一种用于矩阵运算的矩阵实验室(MATrix LABoratory)软件。由于MATLAB提供了功能非常强大的矩阵处理和绘图功能,吸引了很多控制界的名家在自己擅长的领域编写了一些具有特殊意义的MATLAB工具箱,从而空前扩大了MATLAB的功能,使其成为了国际上最流行的控制系统计算机辅助设计的软件工具。下面简单介绍自动控制理论实验涉及到的MATLAB知识(一)SIMULINK(模块图仿真)的使用1、 进

2、入WINDOWS:2、 进入MATLAB:点击WIN窗口中MATLAB图标。3、 进入SIMULINK:在MATLAB窗口中键入SIMULINK命令,即可弹出SIMULINK模块库。如图1-1所示:图1-1 SIMULINK模块库从左到右分别为信号源、输出、离散、线性、非线性、其他七个子模块库,每个子模块库分别包含若干个不同的模块。4、建立自己的实验文件:(1)FILENEW。(2)FILESAVE AS。(键入自己的文件名。注意:文件名不能用纯数字)5、从SIMULINK模块库中挑选所需的模块:(1)把SIMULIMK窗和自己的实验窗并列平铺。(2)在SIMULINK窗中打开SOURCES模

3、块库。(3)从SOURCES库(信号源模块库)中拖出STEP INPUT(单位阶跃输入) 模块至自己的实验窗口。(4)类似(2)(3)从SINKS库中拖出AUTO-SCALE GRAPH( 自动图形输出) 模块。(5)从LINEAR、UNLINEAR库中分别选出INTEGRATOR(积分)、GAIN (比例)、TRANFER-Fun(传递函数)等模块。(6)通过TRANFER-FORNT模块构造积分、惯性、振荡环节。 双击TRANFER-FORNT模块,弹出如图1-2对话框图1-2 Transfer Fun 模块对话框其中Numerator为分子多项式的系数 , Denominator为分母多

4、项式的系数,通过修改多项式的系数实现不同环节的转变。举例如下:例1:要实现传递函数,则令Numerator为1,2;Denominator为2,3,4;例2:要将传递函数变为积分环节:,则令Numerator为1;Denominator为1,0;例3:要将传递函数变为振荡环节:,则令Numerator为1;Denominator为1,1,1;(在此传函中阻尼系数为0.5)例4:要将传递函数变为实际微分环节:,则令Numerator为1,0;Denominator为1,1;实际微分环节的传递函数为:分子分母同除以Td,则为因此,上式中分子s的系数即为Kd值,分母中常数项为Td的倒数(2)设仿真过

5、程参数:SIMULATION菜单PARAMETERS菜单项。如图1-3:图1-3 仿真时间的设置其中: Start Time为仿真开始时间,计算机默认的值为0.0。 Stop time为仿真终止时间,计算机默认的值为999999。 Mix Step Size为仿真最小步长。 Max Step Size为仿真最大步长。, Tolerance为仿真精度。仿真开始前应对Stop Time 进行修改,如改为10秒,50秒或200秒,再根据实际情况进行调整。注:在此使用的仿真算法为五阶的龙格库塔法(RUNGE-KUTTA5)(3)进行仿真:SIMULATION菜单中START菜单项。 注:要使曲线光滑可

6、以通过提高仿真精度或增加采样点来实现。(二)频域和时域分析法1 根轨迹图的绘制(1) 乘积多项式的系数可利用多项式相乘函数CONV(X,Y),该函数直接在 MATLAB COMMAND WINDOWS 窗口中使用。例:A(z)=(z-1)B(z)=(z2+1.15z-1)求A(z)*B(z)的多项式系数,可按如下步骤计算:X=1,1;Y=1,1.15,1;C=CONV(X,Y)上面式子等效于C=CONV(1,-1,1,1.15,1)注:无常数项时,常数项系数记为0(2) 绘制根轨迹图例:绘制如下传递函数的根轨迹图G(s)=可在MATLAB COMMAND WINDOW窗口中输入下列命令:NUM

7、=1,1;DEN=2,0,3;RLOCUS(NUM,DEN)(3) 绘制Z平面的根轨迹图在MATLAB COMMAND WINDOWS窗口中输入下列命令:ZGRID(NEW)NUM=A,B,C.;DEN=D,E,F.;RLOCUS(NUM,DEN)(4) 在根轨迹图上求系统的闭环主导极点在MATLAB COMMAND WINDOW窗口中输入下列语句:R,K=RLOCUS(NUM,DEN)即可得出不同的K值对应的不同根值R,从中找出尽量接近要求的主导极点及其对应的K值。在MATLAB COMMAND WINDOW窗口中输入下列语句: R=RLOCUS(NUM,DEN,K)在得出的K值基础上不断调

8、整K值, 得出满足Y/X=tgq的复根,则此时的K值即为开环放大系数。(已知闭环主导极点的阻尼比z为已知值,则以原点为起点作角度为q=COS-1z的直线,与根轨迹相交得S1点,S1与实轴相对称的点即为S2,若S1,2=XYj则tgq=Y/X,即求主导极点的问题转化为求一复根,使其满足Y/X=tg q的要求。)2伯德图的绘制(1)绘制伯德图 在MATLAB COMMAND WINDOW窗口中输入下列语句: NUM=A,B; DEN=C,D,E; BODE(NUM,DEN)(2)绘制离散控制系统BODE图 绘制离散控制系统BODE图时需将Z域的函数表达式变换为W域的,使用 BODE(NUM,DEN

9、)绘制BODE图。(3)求系统的增益裕量(Gm)、相位裕量(Pm)和穿越频率Wcp 使用如下语句: Gm,Pm,Wcg,Wcp=MARGIN(NUM,DEN)(4)求新的增益穿越频率Wc 设在该穿越频率Wc处,G0(jW)的相角为q,使用如下语句: MAR,PHA,W=BODE(NUM,DEN) 即可得出不同的W值对应相角(PHA)和增益(MAR),找出近似满足PHA=q 时对应的W值,即为Wc。(三)状态空间分析法1、 矩阵的基本运算(1)求矩阵的秩设矩阵A=0,2;0,-2,则它的秩可直接在MATLAB WINDOWS COMMOND 窗口中调用函数R=RANK(A)得到。(2)矩阵的乘法

10、设有A,B两个矩阵,若求其相乘的结果可在MATLAB WINDOWS COMMOND窗口中输入如下命令:A=1,2;3,4B=3,5;6,8C=A*B则C即为矩阵A和B 相乘得到的新矩阵。(3)矩阵的转置设A矩阵为1 ,2;3,4 ,则它的转置矩阵为C=A(4)矩阵的逆 C=inv(A)2、由状态空间模型转换成系统的传递函数(阵)SS2TF在MATLAB WINDOWS COMMAND窗口中直接调用如下函数:NUM,DEN=SS2TF(A,B,C,D,IU)即可求出传递函数分子和分母多项式的系数,由此可直接写出传递函数的表达式。其中A,B,C,D矩阵表示系统的状态空间模型,而IU为输入的代号,

11、对于单输入系统来说,IU=1。注意:矩阵的输入是按行进行的,先输入第一行,再输入第二行,依次类推。行与行之间用分号隔开,每行中不同元素用空格或逗号隔开。3、由系统的传递函数(阵)转换成状态空间模型TF2SSA,B,C,D=TF2SS(NUM,DEN)为能控型(I型)实现(A为友矩阵)。4、实现状态空间模型的线性变换,转化为任意型SS2SSA1,B1,C1,D1=SS2SS(A,B,C,D,T)原系统 通过Z=TX(T为任意非奇异矩阵),即X=T-1Z 的线性变换,得 5、实现状态空间模型的线性变换,转化为对角型CANONA1,B1,C1,D1,T=CANON(A,B,C,D,mod)原系统 通

12、过Z=TX(T为非奇异矩阵),即X=T-1Z 的线性变换,得 为对角型 注意:仅适用于系统有互异特征根的情况,当有相同特征根时,运行结果有错。6、用ACKERMAN算法计算状态反馈矩阵K及状态观测器输出误差反馈矩阵G在MATLAB WINDOWS COMMOND 窗口中调用函数K=ACKER(A,B,P),其中A,B为状态方程系数矩阵,P为要求配置到的极点。例如,A=0,0,4;-3,-3,-2;0,1,2;B=2;1;3;若想引入状态反馈矩阵K,使得闭环系统的极点位置为-3,-1+j, -1-j ,则可以使用下面的MATLAB命令来完成A=0,0,4;-3,-3,-2;0,1,1;B=0;1

13、;3;P=-3;-1+j;-1-j;K=ACKER(A,B,P)即可求出状态反馈矩阵K。同理使用函数G=ACKER(A,C,P)可求出状态观测器输出误差反馈矩阵G。二、实验指导实验1 基于MATLAB的系统数学模型的转换1.0 实验设备 PC计算机1台(要求P4-1.8G以上),MATLAB6.X或MATLAB7.X软件1套。1.1实验目的学习多变量系统状态空间表达式的建立方法、了解系统状态空间表达式与传递函数相互转换的方法;通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数相互转换方法。1.2实验原理说明设系统的模型如式(1.1) 所示 (1.1)其中A为维系数矩阵、B为维输入矩阵,

14、C为维输出矩阵,D为传递阵,一般情况下为0,只有n和m维数相同时, D为维。系统的传递函数阵和状态空间表达式之间的关系如式(1.2)示。 (1.2)式中,表示传递函数矩阵的分子的系数矩阵,其维数是;表示传递函数阵的最小共倍式的系数向量,并按s降幂排列的分母。若在SISO系统中,传递函数阵退化为传递函数,表示传递函数的分子多项式的系数向量,表示传递函数的分母多项式的系数向量。1.3实验步骤 根据所给系统的传递函数或(A、B、C阵),依据系统的传递函数阵和状态空间表达式之间的关系如式(1.2),采用MATLAB的file.m编程。注意:ss2tf和tf2ss是互为逆转换的指令; 在MATLAB界面下调试程序,并检查是否运行正确。例1.1 已知SISO系统的状态空间表达式为(1.3),求系统的传递函数。 (1.3)程序:%首先给A、B、C阵赋值;A=0 1 0;0 0 1;-4 -3 -2;B=1;3;-6;C=1 0 0;D=0;%状态空间表达式转换成传递函数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号