How can I extract numerator and denominator as polynomials from a transfer function?
Show older comments
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 Comments
Vaibhav Singh
on 21 Aug 2018
Can someone help me please.. everytime I write the terms for s^2 inside transfer block properties it shows me the format..num(s)/den(s) ..
Walter Roberson
on 21 Aug 2018
Is that a question about a Simulink block?
Petr Danielka
on 10 Dec 2022
If you make the "Transfer Function" block bigger, it will show properly
Accepted Answer
More Answers (1)
Bill Tubbs
on 24 Feb 2020
Edited: Bill Tubbs
on 24 Feb 2020
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.
1 Comment
Walter Roberson
on 24 Feb 2020
That looks ok
Categories
Find more on Control System Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!