matlab第5章.ppt
《matlab第5章.ppt》由会员分享,可在线阅读,更多相关《matlab第5章.ppt(82页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章 时域分析法本章本章要求要求熟悉和掌握时域分析法,并能使用熟悉和掌握时域分析法,并能使用MATLAB/Simulink对控制系统进行时域分析。对控制系统进行时域分析。15.3 MATLAB/Simulink在时域分析中的应用常用时域分析函数常用时域分析函数1单位阶跃响应函数单位阶跃响应函数 step()基本格式:基本格式:step(num,den,t)%绘制单位阶跃响应曲线绘制单位阶跃响应曲线y=step(num,den,t)%返回返回输出响应值输出响应值yt:仿真时间,:仿真时间,t=t1:step:t2,t1t2 时间范围内,以时间间隔时间范围内,以时间间隔 step 采样采样t可缺
2、省,由系统选定仿真时间,即可缺省,由系统选定仿真时间,即step(num,den)y=step(num,den)2多系统单位阶跃响应:多系统单位阶跃响应:step(sys1,sys2,)在同一幅图中绘制多条单位阶跃响应曲线。在同一幅图中绘制多条单位阶跃响应曲线。可以定义每条响应曲线的可以定义每条响应曲线的颜色颜色、线型线型和和标记标记。如:如:step(sys1,r,sys2,y-,sys3,gx)返回响应输出值:返回响应输出值:y,x,t=step(num,den)y,x,t=step(num,den,t)t:仿真时间,:仿真时间,由系统模型的特性自动生成。由系统模型的特性自动生成。状态变量
3、状态变量x返回为空矩阵。返回为空矩阵。可省略不写。可省略不写。3【例【例】已知传递函数模型已知传递函数模型 绘制单位阶跃响应曲线。绘制单位阶跃响应曲线。452单位脉冲响应函数单位脉冲响应函数 impulse()格式与用法同格式与用法同 step()绘制单位脉冲响应曲线绘制单位脉冲响应曲线impulse(num,den)impulse(num,den,t)求单位脉冲响应的数值解求单位脉冲响应的数值解y=impulse(num,den,t)y,x,t=impulse(num,den)6已知描述某连续系统的微分方程为已知描述某连续系统的微分方程为绘出系统的单位阶跃响应曲线和单位脉冲响应曲线。绘出系统
4、的单位阶跃响应曲线和单位脉冲响应曲线。73线性定常系统对任意输入的响应函数线性定常系统对任意输入的响应函数lsim()常用的格式有:常用的格式有:lsim(sys,u,t)绘制系统绘制系统 sys 在输入为在输入为u,t所定义的信号时,系统的零所定义的信号时,系统的零状态响应曲线状态响应曲线y=lsim(sys,u,t)不绘制响应曲线,求出响应值不绘制响应曲线,求出响应值u:输入信号;输入信号;t:等距时间的采样点;等距时间的采样点;y:响应的输出;响应的输出;如:如:t=0:0.01:5;u=sin(t);lism(sys,u,t)系统系统 sys 对输入对输入 u(t)=sin(t)持续持
5、续 5 秒时间的响应。秒时间的响应。8某连续系统的微分方程为某连续系统的微分方程为求当输入信号为求当输入信号为 时,系统的零状态响应曲线。时,系统的零状态响应曲线。95.3.1.2 时域响应应用举例时域响应应用举例【例例5.1】已知系统的闭环传递函数为已知系统的闭环传递函数为 求单位阶跃响应曲线和单位斜坡响应曲线。求单位阶跃响应曲线和单位斜坡响应曲线。10解:解:MATLAB程序代码如下:程序代码如下:num=1;den=1,0.4,1;%分子分母多项式系数分子分母多项式系数t=0:0.1:10;%响应时间响应时间u=t;%u为单位斜坡输入为单位斜坡输入y=step(num,den,t);%单
6、位阶跃响应单位阶跃响应y1=lsim(num,den,u,t);%单位斜坡响应单位斜坡响应plot(t,y,b-,t,y1,r:);%两条响应曲线绘制在同一个图上两条响应曲线绘制在同一个图上grid%添加栅格添加栅格xlabel(time sec t);ylabel(y);%标注横、纵坐标轴标注横、纵坐标轴title(单位阶跃和单位斜坡输入响应曲线单位阶跃和单位斜坡输入响应曲线);%添加图标题添加图标题legend(单位阶跃响应曲线单位阶跃响应曲线,单位斜坡响应曲线单位斜坡响应曲线)%添加文字标注添加文字标注111213【例例5.2】已知单位负反馈系统,其开环传递函数为已知单位负反馈系统,其开
7、环传递函数为 ,系统输入信号为如图所示的三角波,系统输入信号为如图所示的三角波,求取系统输出响应,并将输入输出信号对比显示。求取系统输出响应,并将输入输出信号对比显示。01234-1114解:解:MATLAB程序代码如下:程序代码如下:numg=1,2;deng=1,10,1;%开环传递函数分子分母系数开环传递函数分子分母系数num,den=cloop(numg,deng,-1);%单位负反馈传递函数单位负反馈传递函数v1=0:0.1:1;v2=0.9:-0.1:-1;v3=-0.9:0.1:0;u=v1,v2,v3;%产生三角波产生三角波t=0:0.1:4;%仿真时间仿真时间y=lsim(n
8、um,den,u,t);%求取系统在三角波输入下的响应求取系统在三角波输入下的响应plot(t,y,-b,t,u,r:);%将输入的三角波和输出的响应曲线绘制在同一个图上将输入的三角波和输出的响应曲线绘制在同一个图上grid%添加栅格添加栅格xlabel(time s);ylabel(y);%标注横、纵坐标轴标注横、纵坐标轴title(三角波输入和输入下的响应曲线三角波输入和输入下的响应曲线);%添加图标题添加图标题legend(响应曲线响应曲线,三角波输入三角波输入)%添加文字标注添加文字标注15%返回响应值,不绘制曲线返回响应值,不绘制曲线16%返回响应值,不绘制曲线返回响应值,不绘制曲线
9、1718【例例5.3】已知单位负反馈系统,其开环传递函已知单位负反馈系统,其开环传递函数为数为 ,系统输入信号为如图所示,系统输入信号为如图所示的锯齿波,用的锯齿波,用simulink求取系统输出响应,并将求取系统输出响应,并将输入输出信号对比显示。输入输出信号对比显示。0148 1219解解:锯齿波锯齿波:sourcessignal generator减法减法:math operations subtract传递函数传递函数:continuous transfer Fcn输入、输出信号组合输入、输出信号组合:Signal RoutingMux示波器模块示波器模块:sinksscope图图5.
10、13 simulink模型模型20图图5.14 锯齿波参数设置界面锯齿波参数设置界面21图图5.15 输出曲线输出曲线设置设置设置设置y y轴最小值轴最小值轴最小值轴最小值-1-1,最大值最大值最大值最大值1 1模型连好后仿真,仿真结束后双击示波器,模型连好后仿真,仿真结束后双击示波器,输出图形如下:输出图形如下:22例例5.4 单位负反馈系统,开环传递函数为单位负反馈系统,开环传递函数为G1(s)和和G2(s)的串联的串联,系统输入信号为系统输入信号为r(t)=sin(t),用,用simulink求取系统求取系统输出响应,并将输入输出信号对比显示。输出响应,并将输入输出信号对比显示。图图5.
11、16 simulink模型模型解:解:G1(s)用零极点模型表示用零极点模型表示23图图5.17 输出和输入曲线输出和输入曲线设置设置设置设置y y轴最小值轴最小值轴最小值轴最小值-1-1,最大值最大值最大值最大值1 1模型连好后进行仿真,仿真结束后双击示波器,模型连好后进行仿真,仿真结束后双击示波器,输出图形如下:输出图形如下:245.3.2 时域响应性能指标求取(二阶系统)1、游动鼠标法游动鼠标法求取性能指标求取性能指标在求取时域响应的程序运行完毕后,用在求取时域响应的程序运行完毕后,用鼠标左键鼠标左键单击单击时域响应曲线时域响应曲线任意一点,系统会自动跳出一任意一点,系统会自动跳出一个个
12、小方框小方框,小方框显示了这一点的,小方框显示了这一点的横坐标横坐标(时间)(时间)和和纵坐标纵坐标(幅值)。(幅值)。按住鼠标左键在曲线上移动,可找到曲线幅值最按住鼠标左键在曲线上移动,可找到曲线幅值最大的一点,即大的一点,即曲线最大峰值曲线最大峰值,此时小方框显示的,此时小方框显示的时间就是此二阶系统的时间就是此二阶系统的峰值时间峰值时间,根据观测到的,根据观测到的稳态值和峰值可计算出系统的稳态值和峰值可计算出系统的超调量超调量。系统的系统的上升时间上升时间和和稳态响应时间稳态响应时间以此类推。以此类推。25需要注意的是:由于需要注意的是:由于显示精度显示精度和和鼠标动作误差鼠标动作误差的
13、原因,求取的性能指标可能与实际值有所误的原因,求取的性能指标可能与实际值有所误差,但这对分析问题是没有影响的。差,但这对分析问题是没有影响的。另外,另外,游动鼠标法不适合用于游动鼠标法不适合用于plot()命令画出的命令画出的图形图形,也就是说,它只能在,也就是说,它只能在非非plot函数函数输出的曲输出的曲线上进行求取。线上进行求取。262、编程法求取性能指标编程法求取性能指标采用采用 y,t=step(G)时,返回响应值时,返回响应值 y 及相应时间及相应时间 t,通过对通过对 y 和和 t 进行计算,可以得到时域性能指标。进行计算,可以得到时域性能指标。峰值时间峰值时间Y,k=max(y
14、)%求求y的峰值及对应采样点的峰值及对应采样点ktimetopeak=t(k)%提取采样点提取采样点k处时间即峰值时间处时间即峰值时间求最求最大值函数大值函数max()求出求出y的峰值及峰值对应位置,存于变的峰值及峰值对应位置,存于变量量Y和和k中。中。t(k)在变量在变量t中取出峰值时间,赋给变量中取出峰值时间,赋给变量timetopeak。27求数据序列的最大值函数求数据序列的最大值函数max1、求向量的最大值、求向量的最大值(1)y=max(x):返回向量:返回向量x的最大值存入的最大值存入y。(2)y,l=max(x):返回向量:返回向量x的最大值存入的最大值存入y,最大,最大值的序号
15、存入值的序号存入l。28例:求向量例:求向量x的最大值的最大值292、求矩阵的最大值、求矩阵的最大值(1)max(A):返回一个行向量,向量的第:返回一个行向量,向量的第i个元素是矩个元素是矩阵阵A的第的第i列上的最大值。列上的最大值。(2)Y,U=max(A):返回行向量:返回行向量Y和和U,Y表示表示A中每中每列的最大值,列的最大值,U对应每列最大值的行号。对应每列最大值的行号。3031超调量超调量C=dcgain(G)%求系统的稳态值求系统的稳态值Y,k=max(y)%求求y的峰值及峰值采样点的峰值及峰值采样点percentovershoot=100*(Y-C)/C%计算超调量计算超调量
16、线性系统的稳态值可以通过函数线性系统的稳态值可以通过函数dcgain()求取,求取,调用格式为:调用格式为:dc=dcgain(num,den)32上升时间(有振荡)上升时间(有振荡)利用利用while循环控制语句循环控制语句程序如下:程序如下:C=dcgain(G)%求系统的稳态值求系统的稳态值Cn=1%n采样点采样点while y(n)C%求输出第一次达到稳态值时的采样点求输出第一次达到稳态值时的采样点n=n+1endrisetime=t(n)%获得上升时间获得上升时间阶跃输入阶跃输入条件下,条件下,y的值由的值由0逐渐增大,当循环满足逐渐增大,当循环满足y=C时,时,退出循环,此时对应的
17、时间即为上升时间。退出循环,此时对应的时间即为上升时间。33上升时间(上升时间(无振荡:临界阻尼系统)无振荡:临界阻尼系统)无振荡:临界阻尼系统)无振荡:临界阻尼系统)对于输出无超调的系统响应,上升时间定义为对于输出无超调的系统响应,上升时间定义为输出从稳态值的输出从稳态值的10%上升到上升到90%所需时间。所需时间。程序如下:程序如下:C=dcgain(G)%求系统的稳态值求系统的稳态值n=1while y(n)0.1*C%输出第一次到达稳态值输出第一次到达稳态值10%的采样点的采样点 n=n+1;endm=1;while y(n)0.98*C)&(y(i)x=1 2 3;2 3 4;len
18、gth(x)ans=3如果如果x是一维向量,那么是一维向量,那么length(x)就是求向量的长度了。就是求向量的长度了。x=2 4 6 8 10 12;length(x)ans=636【例例5.5】二阶系统传递函数为二阶系统传递函数为分别用游动鼠标法和编程法求取系统的性能指标。分别用游动鼠标法和编程法求取系统的性能指标。解:采用游动鼠标法求取性能指标解:采用游动鼠标法求取性能指标在在MATLAB工作空间中输入代码:工作空间中输入代码:G=zpk(,-1+3*i,-1-3*i,3);%建立零极点模型建立零极点模型step(G);%求取阶跃响应求取阶跃响应运行程序后,输出阶跃响应曲线,利用游动鼠
19、标法,可大致运行程序后,输出阶跃响应曲线,利用游动鼠标法,可大致求出系统的性能指标。求出系统的性能指标。37从图中看出,峰值时间为从图中看出,峰值时间为1.05s,上升时间为上升时间为0.633s,超调为超调为(0.404-0.3)/0.3*100%=34.7%,调节时间约为调节时间约为3.77s38采用编程法求取性能指标采用编程法求取性能指标G=zpk(,-1+3*i,-1-3*i,3);%建立零极点模型建立零极点模型%计算最大峰值时间和它对应的超调量计算最大峰值时间和它对应的超调量C=dcgain(G)y,t=step(G);%求取阶跃响应求取阶跃响应plot(t,y)gridY,k=ma
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab
限制150内