您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 利用MATLAB进行传递函数和状态空间模型间的转换
《现代控制理论》实验指导书俞立徐建明编浙江工业大学信息工程学院2007年4月1实验1利用MATLAB进行传递函数和状态空间模型间的转换1.1实验设备PC计算机1台(要求P4-1.8G以上),MATLAB6.X或MATLAB7.X软件1套。1.2实验目的1、学习系统状态空间模型的建立方法、了解状态空间模型与传递函数相互转换的方法;2、通过编程、上机调试,掌握系统状态空间模型与传递函数相互转换的方法。1.3实验原理说明设系统的状态空间模型是xAxBuyCxDu=+⎧⎨=+⎩&(1.1)pyR∈其中:nxR∈是系统的状态向量,是控制输入,muR∈是测量输出,A是维状态矩阵、是维输入矩阵、是nn×mn×np×BDC维输出矩阵、是直接转移矩阵。系统传递函数和状态空间模型之间的关系如式(1.2)所示。1()()GsCsIABD−=−+(1.2)表示状态空间模型和传递函数的MATLAB函数。函数ss(statespace的首字母)给出了状态空间模型,其一般形式是SYS=ss(A,B,C,D)函数tf(transferfunction的首字母)给出了传递函数,其一般形式是G=tf(num,den)其中的num表示传递函数中分子多项式的系数向量(单输入单输出系统),den表示传递函数中分母多项式的系数向量。函数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表示。该函数的结果是第iu个输入到所有输出的传递函数。21,uu3u1u2u3u1.4实验步骤1、根据所给系统的传递函数或(A、B、C、D),依据系统的传递函数阵和状态空间模型之间的关系(1.2),采用MATLAB的相关函数编写m-文件。2、在MATLAB界面下调试程序。例1.1求由以下状态空间模型所表示系统的传递函数,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−−−=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡321321321]001[1202505255100010xxxyuxxxxxx&&&2编写并执行以下的m-文件:A=[010;001;-5–25–5];B=[0;25;-120];C=[100];D=[0];[num,den]=ss2tf(A,B,C,D)得到:num=0-0.000025.00005.0000den=1.00005.000025.00005.0000因此,所求系统的传递函数是5255525)(23++++=sssssG例1.2考虑由以下状态空间模型描述的系统:⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡−−=⎥⎦⎤⎢⎣⎡21212121211001101142510xxyyuuxxxx&&求其传递函数矩阵。解这是一个2输入2输出系统。描述该系统的传递函数是一个22×维矩阵,它包括4个传递函数:⎥⎦⎤⎢⎣⎡)()()()()()()()(22122111sUsYsUsYsUsYsUsY当考虑输入时,可设为零,反之亦然。执行以下的m-文件:1u2uA=[01;-25–4];B=[11;01];C=[10;01];D=[00;00];[num1,den1]=ss2tf(A,B,C,D,1)[num2,den2]=ss2tf(A,B,C,D,2)得到:num1=014300-25den1=1425num2=01.00005.000001.0000-25.0000den2=1425因此,所求的4个传递函数是25425)()(,2545)()(25425)()(,2544)()(222221212211++−=+++=++−=+++=ssssUsYssssUsYsssUsYssssUsY例1.3试给出以下传递函数的状态空间实现10561010)(23++++=sssssG解执行以下的m-文件:num=[001010];den=[16510];[A,B,C,D]=tf2ss(num,den)得到A=-6-5-10100010B=100C=01010D=0因此,所考虑传递函数的一个状态空间实现是4[]⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−−−=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡321321321101000010100011056xxxyuxxxxxx&&&1.5实验要求在运行以上例程序的基础上,应用MATLAB求下面传递函数阵的状态空间实现432352)(232+++⎥⎦⎤⎢⎣⎡+++=sssssssG提示:num=[0012;0153]。5
本文标题:利用MATLAB进行传递函数和状态空间模型间的转换
链接地址:https://www.777doc.com/doc-6281472 .html