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

37 ビュー (過去 30 日間)
ahmed
ahmed 2024 年 4 月 14 日
回答済み: Steven Lord 2024 年 4 月 14 日
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

採用された回答

Karl
Karl 2024 年 4 月 14 日
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 件)

Steven Lord
Steven Lord 2024 年 4 月 14 日
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 = 

カテゴリ

Help Center および File ExchangePolynomials についてさらに検索

製品


リリース

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by