zgxu25 发表于 2007-5-13 16:54

求教关于超调量计算的问题

num=20*conv(,);
den=conv(conv(conv(,),),);
g=tf(num,den);            %高阶系统
yss=1;             %阶跃值为1
t=0:0.1:10;
=step(g);
=max(yout);
Mp=(yout-yss)/yss                            % Mp为超调量
j=100;while yout(j)<1+dta&yout(j)>1-dta;j=j-1;end
ts=t(j);                     %调整时间
tp=t(i);                     %峰值时间

以上是本站的一位朋友提供的计算超调量的MATLAB程序举例。但仿真时    j=100;while yout(j)<1+dta&yout(j)>1-dta;j=j-1;end    这一句出错。。懂的朋友能帮忙看看原因吗?语句中 dta 是什么意思?谢谢了。。

yangzj 发表于 2007-5-13 17:27

dta没赋值
具体什么含义,我觉得你还是应该看看控制的书,把调整时间的概念弄清了,这个含义也就出来了

dta是个稳定的允差量,就是说稳定值的1-dta到1+dta就算是稳定了

[ 本帖最后由 yangzj 于 2007-5-13 18:07 编辑 ]

zgxu25 发表于 2007-5-14 16:08

这个语句是不是只是为了求调整时间ts,而与超调量无关呢?

yangzj 发表于 2007-5-14 16:30

原帖由 zgxu25 于 2007-5-14 16:08 发表 http://www.chinavib.com/forum/images/common/back.gif
这个语句是不是只是为了求调整时间ts,而与超调量无关呢?

是的,不过这个超调量求法应该有问题,应该是
Mp=(y1-yss)/yss                            % Mp为超调量
页: [1]
查看完整版本: 求教关于超调量计算的问题