How to find time constants from given 2+ order transfer function?

149 次查看(过去 30 天)
I have a transfer function let us take for e.g k/(100*s^2+20*s+1).In this TF I want to access the denominator as k/(10*s+1)(10*s+1) in such a way that algorithm will return tau1=10,tau2=10.How to get it?

回答(1 个)

David Wilson
David Wilson 2020-8-26
If you just want to display the transfer function in time-constant form, you can do the following:
s = tf('s');
k = 45; % anyhting
G = k/(100*s^2+20*s+1) % expanded polynomial form
[z,p,k] = zpkdata(G)
G1 = zpk(z,p,k,'DisplayFormat','timeconstant')
If you want access to the time constants, use damp.m
damp(G)
[w, zeta, p] = damp(G)
tau = 1./w
I',m assuming you have a stable TF. Check with isstable.
  1 个评论
Gerard Nagle
Gerard Nagle 2023-4-29
编辑:Gerard Nagle 2023-4-29
Was trying for hours to get a nice format and do this using my own code. Should have read the documentation closer. Thanks for the answer

请先登录,再进行评论。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by