How to extract numerator and denominator coeficients from polynomial function to array

12 vues (au cours des 30 derniers jours)
ahmed le 14 Avr 2024
I have numerator/denominator in form of 10s^6+9s^5+8s^4...+1
and when i try to plot this through command sys=tf(num,den) i get error that it needs to be cell arrays of vectors so i need command that will make array fom me from numerator, denominator like this.
I do not want to write it by hand, i need some command for script that will do that for me. Through symbolic variables i get TF, then i evaluate it for numerator and denominator, now i need to make array from that to use it with tf() command.
Thanks
0 commentairesAfficher -2 commentaires plus anciensMasquer -2 commentaires plus anciens

Connectez-vous pour commenter.

Réponse acceptée

Karl le 14 Avr 2024
You can extract a vector of the coefficients of a symbolic polynomial using sym2poly():
% Create example symbolic polynomial.
syms s
rng('default');
coeffs0 = randi([-10 10],1,5);
polynomial = poly2sym(coeffs0, s)
polynomial =
% Extract polynomial coefficients.
coefficients = sym2poly(polynomial)
coefficients = 1x5
7 9 -8 9 3
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
1 commentaireAfficher -1 commentaires plus anciensMasquer -1 commentaires plus anciens
ahmed le 14 Avr 2024
thanks!!!!

Connectez-vous pour commenter.

Plus de réponses (1)

Steven Lord le 14 Avr 2024
Do you have separate symbolic expressions for the numerator and denominator or do you have the fraction created by dividing numerator by denominator?
syms x
N = x^2+2*x+3
N =
D = x^3+3*x^2+6*x+10
D =
F = N./D
F =
If you have N and D, just use sym2poly as @Karl showed. If you only have F, though, you can use the numden function to extract the numerator and denominator.
[num, den] = numden(F)
num =
den =
0 commentairesAfficher -2 commentaires plus anciensMasquer -2 commentaires plus anciens

Connectez-vous pour commenter.

Catégories

En savoir plus sur Symbolic Math Toolbox dans Help Center et File Exchange

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by