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,执行结果如下

matlab 绘制系统的单位阶跃响应曲线 并编写程序求峰值时间 超调量 [李园7舍_404]_第1张图片

 

图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。

你可能感兴趣的:(碚大)