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。

  • 31
    点赞
  • 206
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值