
以下是第二个传递函数的做法,若想求第一个或其他的传递函数的参数,只需要改变分子矩阵num和分母矩阵即可
num1=[0.01]; den1=[1,0.002,0.01]; t=0:0.001:10;%为了确保精度,即各个参数的小数的位数,减小步长 y=step(num1,den1,t); n=length(t); [ymax,ind]=max(y);%y是原系统的阶跃响应,是一个二维矩阵,返回本身曲线的最大值和对应的时间矩阵变量的第几位 yss=y(n);%我们这里就设我们时间的最终值对应的就是稳态值 mp=(ymax-yss)/yss;%由超调量定义可以计算超调量 for k=1:n%该层循环是计算上升时间即第一次达到稳态值的时间 if y(k)<=yss&y(k+1)>=yss%第一次达到稳态值 tr=t(k+1);%用tr存储稳态值 break end end for i=n:-1:1%该层循环用于计算调整时间,我们是从最终时间(无穷远的时间)往前开始遍历查找,否则从前开始查找的话会出错 if y(i)>=1.02*yss|y(i)<=0.98*yss%当得到的值与稳态值差的绝对值与稳态值之比为2%时说明到达了调整时间 ts=t(i);%ts存储调整时间 break end end disp('峰值时间为:') disp(t(ind)) disp('上升时间为:') disp(tr) disp('调整时间为:') disp(ts) disp('超调量为:') disp(mp)
讯享网


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/59395.html