matlab 绘制系统的单位阶跃响应曲线 并编写程序求峰值时间 超调量 [李园7舍_404]
Posted 资质平庸的程序员
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab 绘制系统的单位阶跃响应曲线 并编写程序求峰值时间 超调量 [李园7舍_404]相关的知识,希望对你有一定的参考价值。
1 内容
已知典型二阶系统的传递函数为
其中 wn=2,阻尼比 分别为0.2,0.4,0.6,0.8,1,2时系统的单位阶跃响应曲线(绘制在同一张图上),并求出 =2,阻尼比 =0.4时系统的峰值时间和超调量。
2 求解
2.1 将所有的单位阶跃响应绘制在一起
matlab 版本: 7.9.0(R2009b)
打开matlab,file-->New-->Blank M-file
dum=[4];
den1=[1 0.8 4];
den2=[1 1.6 4];
den3=[1 2.4 4];
den4=[1 3.2 4];
den5=[1 4 4];
den6=[1 8 4];
sys1=tf(dum, den1);
sys2=tf(dum, den2);
sys3=tf(dum, den3);
sys4=tf(dum, den4);
sys5=tf(dum, den5);
sys6=tf(dum, den6);
step(sys1, sys2, sys3, sys4, sys5, sys6);
前面的一段代码表示传递函数的分子与分母的各系数,中间一段代码表示将传递函数返回给sysn,最后的一个step函数表示给括号里的系统一个阶跃响应,然后绘制出对应的阶跃响应曲线图。
将以上文件保存到matlab的工作空间,然后在以上文件中点击Debug-->Run或者按F5,执行结果如下
图1 在不同阻尼比下的阶跃响应曲线图
根据自动控制原理的功底,看出来哪条曲线对应的哪个阻尼比么?。
2.2 编写程序求取峰值时间和超调量
咱们将阻尼比不为0.4的曲线去掉,然后编写程序来求取峰值时间和超调量
dum=[4];
den2=[1 1.6 4];
sys2=tf(dum, den2);
[y, t, x]=step(sys2);
mp=max(y);
%峰值时间
tp=spline(y, t, mp)
cs=length(t);
%稳态值
yss=y(cs)
%超调量
ct=(mp - yss)/yss
每个函数的作用也注释了一下子,运行程序在命令窗口中得到结果如下:
tp =
1.7220
yss =
0.9970
ct =
0.2576
峰值时间:1.7220s, 稳定值:0.9970,超调量:0.2576
关于此篇涉及到的matlab函数,看matlab help查看才是王道。
Matlab Note Over。
以上是关于matlab 绘制系统的单位阶跃响应曲线 并编写程序求峰值时间 超调量 [李园7舍_404]的主要内容,如果未能解决你的问题,请参考以下文章
MATLAB从入门到精通-控制系统动态特性的计算以及阶跃响应波德图等