How can I extract numerator and denominator as polynomials from a transfer function?
168 次查看(过去 30 天)
显示 更早的评论
I'm am having some stupid trouble with transfer functions.
If I have to write the tf:
s^2 + 2 s
G(s) = ---------------------
s^3 - 2 s^2 + 4 s + 1
I could write: G=tf([2 1 0],[1 -2 4 1])
But now, I would like to extract numerator and denominator as array. If I write: [Num, Den]=tfdata(G) the programm gives me them as cells
Num =
cell
[1×4 double]
Den =
cell
[1×4 double]
How can I take numerator and denominator as arrays? I would like to receive
Num =
[2 1 0]
Den =
[1 -2 4 1]
Thank you
3 个评论
采纳的回答
Thiago Barreto
2018-8-16
Just do this:
G = tf([2 1 0],[1 -2 4 1]);
[num den] = tfdata(G, 'v');
num =
0 2 1 0
den =
1 -2 4 1
1 个评论
Fabricio Arturo Balboa Cavazos
2020-4-30
I needed to extract que coeficients to use the Jury criteria, thanks a lot man.
更多回答(1 个)
Bill Tubbs
2020-2-24
编辑:Bill Tubbs
2020-2-24
The answer is good but what if I want to go one step further?
What if I want A(s) and B(s) where G(s) = B(s)/A(s)?
This seems to work, is this the right way to do it?
>> B = tf(num,1)
B =
2 s^2 + s
Continuous-time transfer function.
>> A = tf(den,1)
A =
s^3 - 2 s^2 + 4 s + 1
Continuous-time transfer function.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!