传递函数通常表达为s的有理分式形式及零极点增益形式。
A、有理分式形式
分别将分子、分母中、多项式的系数按降幂排列成行矢量,缺项的系数用0补齐。上述函可表示为num1=[2 1](注意:方括号,同一行的各元素间留空格或逗号)。 den1=[1 2 2 1] syss1=tf(num1,den1)
运行后,返回传递函数G1(s)的形式。这种形式不能直接进行符号运算! B. 零极点增益形式
[Z,P,K]=tf2zp(num1,den1) sys2=zpk(Z,P,K)
返回零、极点、增益表达式,其Z,P分别将零点和极点表示成列向量,若无零点或极点用[ ](空矩阵)代替。运行得到G(s)的零点Z=-0.5,极点P=-1,-0.5±j0.866,增益K=2。
指令zp2tf(Z,P,K)将零极点增益变换成有理分式形式,见程序: 传递函数的有理分式及零极,点增益模型 num1=[2 1]%传递函数的分子系数向量 den1=[1 2 2 1]%传递函数的分母系数向量
sys1=tf(num1,den1)%传递函数的有理分式模型
[Z,P,K]=tf2zp(num1,den1)%有理分式模型转换成零极点增益模型 [num2,den2]=zp2tf(Z,P,K)%零极点增益模型转换成有理分式模型 sys2=zpk(Z,P,K)%传递函数的零极点增益模型
[A1,B1,C1,D1]=tf2ss(num1,den1)%有理分式模型转换成状态空间模型 [A2,B2,C2,D2]=zp2ss(Z,P,K)%零极点及增益模型转换成状态空间模型 [num1,den1]=ss2tf(A1,B1,C1,D1)%状态空间模型转换成有理分式模型 [Z,P,K]=ss2zp(A2,B2,C2,D2)%状态空间模型转换成零极点增益模型
程序中,命令tf2ss,zp2ss及ss2tf,ss2zp是状态空间模型与有理分式及零、极点、增益模型之间的相互转换。
C、复杂传递函数的求取。在MATLAB中,可用conv函数实现复杂传递函数求取。conv函数是标准的MATLAB函数,用来求取两个向量的卷积,也可用来求取多项式乘法。conv函数允许多重嵌套,从而实现复杂的计算。 例:用MATLAB表示传递函数为num=5*[1 1 1]
den=conv(conv(conv([1 3 1],[1 3 1]),[1 6 5 3]),[1 2]) G=tf(num,den)
2、传递函数框图的处理
用框图可以方便地表示传递函数的并联,串联及反馈。为简洁,仅以有理分式模型为例。 a. 并联
(5s2s1)(s3s1)(s6s5s3)(s2)2232的系统。
Sysp=parallel(sys1,sys2)
[num,den]=parallel(num1,den1,num2,den2) b.串联
syss=series(sys1,sys2)
[nums,dens]=series(num1,den1,num2,den2) c、反馈
sysc=feedback(syss,sys3,1)默决值(-1) [numc,denc]=feedback(nums,dens,num3,den3) 3、系统的时域特性曲线
impulse函数用于生成单位脉冲响应。 参考程序:系统的单位脉冲响应 num1=[42]; den1=[2 8 14 11 4]; sys1=tf(num1,den1); num2=[2 1]; den2=[1 4 6 7 3]; sys2=tf(num2,den2);
[y1,t1]=impulse(sys1);%系统G1(s)的单位脉冲响应数据 [y2,t2]=impulse(sys2);%系统G2(s)的单位脉冲响应数据
impulse(sys1,sys2)%系统G1(s)、G2(s)的单位脉冲响应曲线 figure,impulse(sys1,sys2,20)
%系统G1(s)、G2(s)在自选时间(20秒)内的单位脉冲响应曲线 figure,plot(t1,y1)%系统G1(s)的单位脉冲响应曲线 figure,plot(t2,y2)%系统G2(s)的单位脉冲响应曲线
hold on,step(sys2)%系统G2(s)的单位阶跃和单位脉冲响应曲线
程序的最后一句hold on是当前图形保护模式。当要将新图形作在当前图形上时,必须使用hold on。而figure的含意是另开一个新的图形窗口,如果不用figure或hold on,则新的图形会占用原图形窗口,始终只保留一个最新的图形窗口。
step函数用于生成单位阶跃响应。 参考程序:系统的单位阶跃响应 num1=[42]; den1=[2 8 14 11 4];
sys1=tf(num1,den1);%系统G1(s) num2=[2 1]; den2=[1 4 6 7 3];
sys2=tf(num2,den2);%系统G2(s)
[y1,t1]=step(sys1);%系统G1(s)的单位阶跃响应数据 [y2,t2]=step(sys2);%系统G2(s)的单位阶跃响应数据 step(sys1,sys2);%系统G1(s)、G2(s)的单位阶跃响曲线 figure,step(sys1,sys2,20);
%系统G1(S)、G2(s)在自选时间(20秒)内的单位阶跃响曲线
figure,plot(t1,y1);%系统G1(s)的单位阶跃响应曲线 figure,plot(t2,y2);%系统G2(s)的单位阶跃响应曲线
lsim函数用于生成任意输入的时间响应。 二、实验目的
1、使学生通过实验中的系统设计及理论分析方法,帮助学生进一步理解自动控制系统的设计与分析方法。 2、熟悉仿真分析软件。
3、利用Matlab对一、二阶系统进行时域分析。
4、掌握一阶系统的时域特性,理解常数T对系统性能的影响。
5、掌握二阶系统的时域特性,理解二阶系统重要参数对系统性能的影响。 三、实验设备
计算机和Matlab仿真软件。 四、实验内容 1、一阶系统时域特性
一阶系统G(s)1,影响系统特性的参数是其时间常数T,T越大,系Ts1统的惯性越大,系统响应越慢。Matlab编程仿真T=0.4,1.2,2.0,2.8,3.6,4.4系统单位阶跃响应。 2、二阶系统时域特性 a、二阶线性系统 G(s)16单位脉冲响应、单位正弦输入响应的 2s4s16Matlab仿真。
b、下图为具有一微分负反馈的位置随动系统框图,求出系统的闭环传递函数,根据系统瞬态性能指标的定义利用Matlab分别计算微分反馈时间常数τ为0,0.0125,0.025时系统的上升时间、峰值时间、最大超调量和调整时间。
C、二阶线性系统
36,当为0.1,0.2,0.5,0.7,1.0,2.0时,完成
s212s36单位阶跃响应的Matlab仿真,分析值对系统响应性能指标的影响。 五、实验要求
1、进入机房,学生要严格遵守实验室规定。
2、学生完成上述实验,出现问题,教师引导学生分析和解决问题。 3、完成相关实验内容,记录程序,观察记录响应曲线,响应曲线及性能指标进行比较,进行实验分析 4、分析系统的动态特性。
5、并撰写实验报告,按时提交实验报告。 六、Matlab编程仿真并进行实验分析 1、
num = 1
den1 = [0.4 1]
g1 = tf (num,den1) step(g1) hold on
den2 = [1.2 1]
g2 = tf (num,den2) step(g2) hold on
den3 = [2.0 1]
g3 = tf (num,den3) step(g3) hold on
den4 = [2.8 1]
g4 = tf (num,den4) step(g4) hold on
den5 = [3.6 1]
g5 = tf (num,den5) step(g5) hold on
den6 = [4.4 1]
g6 = tf (num,den6) step(g6) hold on
2、a
num=16; den=[1 4 16]; t=0:0.1:20; u=sin(t);
sys1=tf(num,den); impulse(sys1,t); hold on step(sys1,t); hold on
figure,lsim(sys1,u,t); hold on
2.c clear
num1=36;
for eps=[0.1,0.2,0.5,0.7,1,2]; e=12*eps; den1=[1 e 36];
sys1=tf(num1,den1); step(sys1) hold on
legend('eps=0.1','e=0.2','e=0.5','eps=0.7','eps=1','eps=2') end hold on
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- zrrp.cn 版权所有 赣ICP备2024042808号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务