
如何用matlab求传递函数?今以多自由度振动系统的半正定系统求解可以按下列步骤进行:
已知系统质量矩阵{M}是正定矩阵,刚度矩阵{M}是半正定矩阵,求以m2的位移x2为输出,以作用在m2上的力f为输入的系统传递函数。
1建立系统动力学方程
m2dx2^2/dt^2=f-k2(x2-x1)-c1(dx2/dt-dx1/dt)
m1dx1^2/dt^2=k2(x2-x1)+c2(dx2/dt-dx1/dt)-k1(x1-x0)-c1(dx1/dt-dx0/dt)
m0dx0^2/dt^2=k1(x1-x0)+c1(dx1/dt-dx0/dt)
令z1=x0,z2=x1,z3=x2,z4=dx0/dt,z5=dx1/dt,z6=dx2/dt,y=x2,则Z=(z1,z2,z3,z4,z5,z6)^T。
由此,得到该系统的状态空间方程
dZ/dt=AZ+Bf
y=(0,0,1,0,0,0)Z
2求传递函数X2(s)/ F(s),为了方便求解,我们建立modelm()函数,其代码为
function sysm=modelm(sysp)
m0=sysp(1); %m0的质量
m1=sysp(2); %m1的质量
m2=sysp(3); %m3的质量
k1=sysp(4); %m1的刚度
k2=sysp(5); %m2的刚度
c1=sysp(6); %m1的阻尼
c2=sysp(7); %m2的阻尼
A=[。。。];
B=[。。。];
C=[。。。];
D=0;
sys1=ss(A,B,C,D); %得到状态空间模型
sysm=zpk(sys1);%得到零极点增益模型,即该系统的传递函数
3调用方式
symp=[21,9,15,1000,400,0,0] %[m0,m1,m2,k1,k2,c1,c2]
X2_F=modelm(sysp)
知识扩展:
(1)传递函数的概念
传递函数是指零初始条件下线性系统响应(即输出)量的拉普拉斯变换(或z变换)与激励(即输入)量的拉普拉斯变换之比。记作G(s)=Y(s)/U(s),其中Y(s)、U(s)分别为输出量和输入量的拉普拉斯变换。
(2)传递函数的主要应用
1、 确定系统的输出响应。对于传递函数G(s)已知的系统,在输入作用u(s)给定后,系统的输出响应y(s)可直接由G(s)U(s)运用拉普拉斯反变换方法来定出。
2、分析系统参数变化对输出响应的影响。对于闭环控制系统,运用根轨迹法可方便地分析系统开环增益的变化对闭环传递函数极点、零点位置的影响,从而可进一步估计对输出响应的影响。
3、用于控制系统的设计。直接由系统开环传递函数进行设计时,采用根轨迹法。根据频率响应来设计时,采用频率响应法。
首先标注一下输出、输入及中间各个信号如下图1所示:求整个系统的总传递函数步骤可参考:
1、如图1所示,把各信号的关系列出来;
2、通过迭代,把中间节点消除;
3、把系统看成由图2的传递函数G构成的系统,整理中间各信号的关系,最终得到输出和输入的关系式:i=a[G2(G1+1)+G4]G3/[(G2+G4)G3+1],即系统的传递函数G为G=[G2(G1+1)+G4]G3/[(G2+G4)G3+1],如图2所示。
该题没有说是否有零点,所以答案有无穷个
由(1)知系统为I型,且增益K=1/12
由(2)知,设另一闭环极点为-a,(a>0),则系统特征方程为
s^3+(2+a)s^2+(2+2a)s+2a=0
接下来解题的关键是,把特征方程分成两部分A(s)+B(s)=0,然后方程左右两边同除以A(s)部分,得1+B(s)/A(s)=0
针对本题
若无零点,分成s^3+(2+a)s^2+(2+2a)s+2a=0,则G(s)=2a/[s^3+(2+a)s^2+(2+2a)s]
其中2a=K,即a=5/12最后结果可看附图
若有一个零点,则分成[s^3+(2+a)s^2+(08+2a)s]+12(s+2a/12)=0,即,G(s)=12(s+2a/12)/[s^3+(2+a)s^2+(08+2a)s]
其中a>0的任何实数
若有两个零点,也可类似 *** 作
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)