matlab-微分方程-SS模型-TF模型-模型对比.docx_第1页
matlab-微分方程-SS模型-TF模型-模型对比.docx_第2页
matlab-微分方程-SS模型-TF模型-模型对比.docx_第3页
matlab-微分方程-SS模型-TF模型-模型对比.docx_第4页
matlab-微分方程-SS模型-TF模型-模型对比.docx_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、matlab微分方程、SS模型、TF模型、ZPK模型的关系以最简单的单自由度振动模型为例: y(t)+4y(t)=3u(t)微分方程左边为输出微分函数以系统特征参数为系数的线性组合,右边为输入微分函数的线性组合。对微分方程进行拉普拉斯变换,得到传递函数G(s)= Y(s)/U(s)= 3-s2 + 4用模型转换函数可以将TF模型转成SS模型:A,B,C,D=tf2ss(3,1 0 4)Sys=ss(A,B,C,D);A = 0 -4 1 0B = 1 0C = 0 3D = 0SS模型的表达式为:X=AX+Buy=CX+Du其本质是状态变量X的线性方程组(选择合适的状态变量消去原微分方程中的输入函数的微分项),X为选择的状态变量,这里,X=x1x2=x2x2X= x1x2=x2x2因为TF只能表示线性系统,对线性系统而言,当输入函数线性组合输入到系统(微分方程左式表示的系统)时,输出函数可表示成输入函数单独输入系统产生的响应函数的线性组合。比如y(t)+4y(t)=u(t),响应y(t)设为状态变量x2; y(t)+4y(t)=u(t),响应y(t)设为状态变量x1=x2;所以原微分方程可以表示为:X= x1x2=x2x2=0-410 x1x2+10u以上表示u(t)单独输入系统时求系统的响应(即状态变量)y=0 3 x1x2+0u以上表示u(t)线性组合输入系统(这里是3u(t))时求系统的响应(即输出函数y(t))SS模型也可转成TF模型:tf(ss(A,B,C,D)TF转零极点增益ZPK模型z p k=tf2zp(3,1 0 4)z = Empty matrix: 0-by-1p = 0 + 2.0000i 0 - 2.0000ik = 3即3 3 -0.75i 0.75i- = - = 0+- + -s2 + 4 (s-2i)(s+2i) (s-2i) (s+2i)还可以用residue函数将传递函数变成部分分式展开式z p k=residue(3,1 0 4)z = 0 - 0.7500i 0 + 0.7500ip = 0 + 2.0000i 0 - 2.0000ik = 二、对系统输出进行积分和微分计算对原系统:y(t)+4y(t)=3u(t);G(s)=3-s2 + 41、设原系统输出为y1(t),怎么求其微分y1(t)?对微分方程右边进行微分,新的系统为:y(t)+4y(t)=3u(t);G(s)=3s-s2 + 4ABD同,就C不同,因为输入由u(t)变成了u(t)。A = 0 -4 1 0B = 1 0C = 3 0D = 0所以,对原系统y(t)+4y(t)=3u(t),输出函数y1(t)=CX+0D,只需改C=0 3为3 0,或者取dy=3*X(:,1)就可得到y(t)+4y(t)=3u(t)的输出函数y1(t)。实际上,对原系统y(t)+4y(t)=3u(t),A(1,:)*X+u还可得到u(t)输入的响应,再乘以3,就可得到y(t)+4y(t)=3 u(t)的输出y1(t),但是u(t)更进一步的微分输入无法计算响应,所以对传递函数G(s),理论上分子num的次数应不大于分母den的次数。Matlab编程验证:A,B,C,D=tf2ss(3 0,1 0 4)Sys=ss(A,B,C,D);G=tf(ss(A,B,C,D)X0=0,0;%X0=zeros(2*n,1);%X0=x1_0,.,dx1_0,.t=0:0.05:pi;U=sin(4*t);Y,t,X=lsim(Sys,U,t,X0);subplot(4,1,1)plot(t,U) A,B,C,D=tf2ss(3,1 0 4)Sys=ss(A,B,C,D);Y2,t,X=lsim(Sys,U,t,X0);dy=3*X(:,1);subplot(4,1,2)%plot(t,X(:,1:2)plot(t,Y2,t,Y,t,dy,*,t,3*(A(1,2)*X(:,2)+U)2、设原系统输出为y1(t),怎么求其积分y1_(t)?对原系统:y(t)+4y(t)=3u(t);G(s)=3-s2 + 4方程左边微分,右边输入不变,微分方程变为:y(t)+4y(t)=3u(t);G(s)=3-s3 + 4sA2 = 0 -4 0 1 0 0 0 1 0B2 = 1 0 0C2 = 0 0 3D2 = 0所以状态参数增加了一个x3,x1x2x3X1,x2与原系统一样, x1=x2,x2=x3。所以对原系统而言,相当于多了个积分状态参数。其输出函数为y1_(t)=3*x3Matlab编程验证:subplot(4,1,3)A2,B2,C2,D2=tf2ss(3,1 0 4)Sys=ss(A2,B2,C2,D2);tf(ss(A2,B2,C2,D2)Y,t,X=lsim(Sys,U,t,0 0);plot(t,Y,t,3*X(:,1) A2,B2,C2,D2=tf2ss(3,1 0 4 0)Sys=ss(A2,B2,C2,D2);tf(ss(A2,B2,C2,D2)Y,t,X=lsim(Sys,U,t,0 0 0);subplot(4,1,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论