您好,欢迎来到智榕旅游。
搜索
您的当前位置:首页基于matlab的一阶系统及二阶系统时域特性仿真实验 (1)

基于matlab的一阶系统及二阶系统时域特性仿真实验 (1)

来源:智榕旅游
、实验一 一阶系统及二阶系统时域特性MatLab仿真实验(2学时) 一、 概述:系统时域特性常用的Matlab仿真函数 1、传递函数两种形式

传递函数通常表达为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. 并联

(5s2s1)(s3s1)(s6s5s3)(s2)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越大,系Ts1统的惯性越大,系统响应越慢。Matlab编程仿真T=0.4,1.2,2.0,2.8,3.6,4.4系统单位阶跃响应。 2、二阶系统时域特性 a、二阶线性系统 G(s)16单位脉冲响应、单位正弦输入响应的 2s4s16Matlab仿真。

b、下图为具有一微分负反馈的位置随动系统框图,求出系统的闭环传递函数,根据系统瞬态性能指标的定义利用Matlab分别计算微分反馈时间常数τ为0,0.0125,0.025时系统的上升时间、峰值时间、最大超调量和调整时间。

C、二阶线性系统

36,当为0.1,0.2,0.5,0.7,1.0,2.0时,完成

s212s36单位阶跃响应的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

本站由北京市万商天勤律师事务所王兴未律师提供法律服务