欢迎来到天天文库
浏览记录
ID:13433126
大小:42.12 KB
页数:6页
时间:2018-07-22
《传递函数到状态空间的实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、计算机仿真实验报告实验题目:传递函数到状态空间的实现课程名称:计算机仿真一、实验目的1、理解并掌握传递函数转换为状态空间方程的方法2、理解状态初值的计算方法二、实验内容1、应用MATLAB编写一个可以实现传递函数到状态空间方程的可控可观规范型的m文件。并用相应例题验证程序的正确性。2、完善该程序使其可以用来计算状态初值。并用相应的例题验证程序的正确性。3、程序中需要考虑分子分母同阶以及分母首系数不为1的两种情况。三、报告内容1、给出m文件的程序框图,及验证结果,并记录出现的错误,并给出解决的方案。若没有得到解决,请说清楚你的问题2、如果做了程序
2、的状态初值得求解,请给出相应的验证结果,及程序编写过程中出现的问题,若已经解决,给出具体方法。四、实验理论 b 晦 晦 1、传递函数为Gs= 晦 晦 那么其状态空间模型能控标准型为: A=B=⋮⋮⋮⋱⋮⋮晦 晦 晦 晦 晦 晦 C= 晦 晦 晦 晦 晦 D= 能观标准型为: = = = = 能观能控能观能控能观能控能观能控2、计算状态变量初值:(1)不含u的导数项时,则有:1计算机仿真实验报告x1
3、(0)y(0)x2(0)y(0)(n1)xn(0)y(0)(2)系统微分方程不仅包含u的输入项,而且包含u的导数项,则:x1(0)an1an2a11y(0)cn1cn2c2c1u(0)x(0)aa10y(0)cc0u(0)2n2n3n21x(0)ay(0)cu(0)3n3n3
4、x(0)a10y(n2)(0)cu(n3)(0)n111(n1)(n2)xn(0)100y(0)00u(0)n1nnn1n(n1)(n1)1五、程序检验(1)输入一个分母首系数为1且分子分母不同阶传递函数:2S3 4S2 3S 5G=S4 2S3 5S2 4S 2程序运行结果:能控标准型:A=010000100001-2-4-5-2B=0001C=2计算机仿真实验报告5342D=0能观标准型:A=000-2100-401
5、0-5001-2B=5342C=0001D=0初值部分:请输入系统输出的初值=[1;1;1;1]请输入系统输入的初值=[0;0;0]x0=12831运行结果正确(2)输入一个分母首系数为2且分子分母同阶传递函数:3计算机仿真实验报告S2 2S 3G=2S2 5S 3程序运行结果:能控标准型:A=01.0000-1.5000-2.5000B=01C=1.50001.5000D=0.5000能观标准型:A=0-1.50001.0000-2.5000B=1.50001.5000C=1.50001.5000D=0.5000初值部分:请输入系统输出的初值
6、=[1;1]请输入系统输入的初值=[0]x0=4计算机仿真实验报告3.50001.0000运行结果正确六、流程图开始(清零)Y首项系数是否为1N化为首1利用zerossize构建A,B阵N是否同阶Y根据公式写出C,D建立C,D阵能控型——能观型输入y,u根据公式得出A,B计算出初值X0结束七、实验小结5计算机仿真实验报告通过本次实验我了解了如何通过matlab的编程来实现传递函数转化为状态空间方程的能控和能观性,并掌握了程序的状态初值的求解。当然在其中我也遇到了不少问题,首先是在求解A矩阵时,如果分母是最高项是4次的话,分母就是5项,那么它的
7、矩阵就是4×4,我一开始一直以为是5×5,结果做的时候一直有问题,后来纠正了这个问题后,又有新的问题出现了,建立单位矩阵之后,我想在单位矩阵的左边加一个全零行,在下面就如den的负反序A3=-fliplr(den),但是我忘记了要去掉-a0项,所以总是报错。还有一个地方有问题就是在解决初值问题的时候。在解决初值问题的时候,我开始一点头绪都没有,经过仔细的研究和请教身边的同学后,我慢慢有了一点思路,初值问题,包含u的导数项和不含u的导数项两种情况,如果包含u的导数项时,X的初值就直接等于Y的初值,而如果不含u的导数项,则需要建立等式来处理。首先要
8、先建立一个n×n的矩阵A和y的n×1初值矩阵相乘再加上n×(n-1)的矩阵B和u的(n-1)×1初值矩阵的乘积,然后就是要对矩阵赋初值。在这里也遇到了
此文档下载收益归作者所有