def step_info(t,yout):
print "OS: %f%s"%((yout.max()/yout[-1]-1)*100,'%')
print "Tr: %fs"%(t[next(i for i in range(0,len(yout)-1) if yout[i]>yout[-1]*.90)]-t[0])
print "Ts: %fs"%(t[next(len(yout)-i for i in range(2,len(yout)-1) if abs(yout[-i]/yout[-1])>1.02)]-t[0])
你能不能不执行这些公式?(假设这是一个二阶系统/有两个主导极点,可以近似为二阶)
对于上升和稳定时间有一些不同的近似值,所以互联网是你的朋友。在
您还可以计算出阻尼频率(根据绘图数据的最大值和最小值),并用其计算出固有频率:
有一些公式可以把这些不同的量联系起来,这取决于你所知道的。在
这个discussion表示一种实现:
然后,您需要使用信号处理部分中的numpy函数来获取所需的其他信息。在
相关问题 更多 >
编程相关推荐