How can I extract numerator and denominator as polynomials from a transfer function?
641 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Paolo Arighi
el 26 de Ag. de 2017
Comentada: Petr Danielka
el 10 de Dic. de 2022
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 comentarios
Petr Danielka
el 10 de Dic. de 2022
If you make the "Transfer Function" block bigger, it will show properly
Respuesta aceptada
Thiago Barreto
el 16 de Ag. de 2018
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 comentario
Fabricio Arturo Balboa Cavazos
el 30 de Abr. de 2020
I needed to extract que coeficients to use the Jury criteria, thanks a lot man.
Más respuestas (1)
Bill Tubbs
el 24 de Feb. de 2020
Editada: Bill Tubbs
el 24 de Feb. de 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.
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!