how to convert tranfer function into a polynomial function?

18 vues (au cours des 30 derniers jours)
H
H le 12 Mar 2023
I have got an transfer function which is having a relative degree of 4 or higher. I want to find out the gain for root locus based design for a given dominant pole. for the Transfer function I have got i need to substitute the value of s. for that i need to convert Transfer function into a polynomial so that i can use substitution operation.
  3 commentaires
H
H le 12 Mar 2023
also is there a way to convert transfer function to polynomial or symbolic?
H
H le 12 Mar 2023
i have an open loop transfer function C*P= 1.656e09 s^4 + 2.751e12 s^3 + 1.196e15 s^2 + 4.445e16 s + 4.433e15
------------------------------------------------------------------------------------
25 s^7 + 75982 s^6 + 8.552e07 s^5 + 4.409e10 s^4 + 1.057e13 s^3 + 1.049e15 s^2
+ 2.797e16 s
i am finding the closed loop Transfer function =CP/(1+CP) but the matlab is not solving it properly
like I am getting 4.14e10 s^11 + 1.946e14 s^10 + 3.805e17 s^9 + 4.003e20 s^8 + 2.445e23 s^7
+ 8.735e25 s^6 + 1.754e28 s^5 + 1.802e30 s^4 + 8.014e31 s^3 + 1.248e33 s^2
+ 1.24e32 s
---------------------------------------------------------------------------------------
625 s^14 + 3.799e06 s^13 + 1.005e10 s^12 + 1.524e13 s^11 + 1.474e16 s^10 + 9.58e18 s^9
+ 4.313e21 s^8 + 1.36e24 s^7 + 2.964e26 s^6 + 4.218e28 s^5 + 3.494e30 s^4
+ 1.388e32 s^3 + 2.031e33 s^2 + 1.24e32 s
instead of 1.656e09 s^4 + 2.751e12 s^3 + 1.196e15 s^2 + 4.445e16 s + 4.433e15
-----------------------------------------------------------------------------------
25 s^7 + 75982 s^6 + 8.552e07 s^5 + 4.574e10 s^4 + 1.332e13 s^3 + 2.245e15 s^2
+ 7.243e16 s + 4.433e15.??

Connectez-vous pour commenter.

Réponses (1)

Sam Chak
Sam Chak le 12 Mar 2023
Hi @H
I think you use the minreal() and tfdata() function.
s = tf('s');
ncp = 1.656e09*s^4 + 2.751e12*s^3 + 1.196e15*s^2 + 4.445e16*s + 4.433e15;
dcp = 25*s^7 + 75982*s^6 + 8.552e07*s^5 + 4.409e10*s^4 + 1.057e13*s^3 + 1.049e15*s^2 + 2.797e16*s;
G = ncp/dcp;
Gcl = feedback(G, 1)
Gcl = 1.656e09 s^4 + 2.751e12 s^3 + 1.196e15 s^2 + 4.445e16 s + 4.433e15 ------------------------------------------------------------------------------------------------------ 25 s^7 + 75982 s^6 + 8.552e07 s^5 + 4.575e10 s^4 + 1.332e13 s^3 + 2.245e15 s^2 + 7.242e16 s + 4.433e15 Continuous-time transfer function.
Gcl = minreal(Gcl)
Gcl = 6.624e07 s^4 + 1.1e11 s^3 + 4.784e13 s^2 + 1.778e15 s + 1.773e14 ------------------------------------------------------------------------------------------------ s^7 + 3039 s^6 + 3.421e06 s^5 + 1.83e09 s^4 + 5.328e11 s^3 + 8.98e13 s^2 + 2.897e15 s + 1.773e14 Continuous-time transfer function.
[num,den] = tfdata(Gcl, 'v')
num = 1×8
1.0e+15 * 0 0 0 0.0000 0.0001 0.0478 1.7780 0.1773
den = 1×8
1.0e+15 * 0.0000 0.0000 0.0000 0.0000 0.0005 0.0898 2.8968 0.1773

Catégories

En savoir plus sur Dynamic System Models dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by