factors — factorisation réelle de polynômes
[lnum,g]=factors(pol [,'flag']) [lnum,lden,g]=factors(rat [,'flag']) rat=factors(rat,'flag')
polynôme réel
fraction rationnelle (rat=pol1/pol2
)
liste de polynômes (de degrés 1 ou 2)
liste de polynômes (de degrés 1 ou 2)
nombre réel
chaîne de caractères, 'c'
ou 'd'
renvoie les facteurs du polynôme pol
dans la liste lnum
et le "gain" g.
On a pol = g multiplié par le produit des termes de la liste lnum
(si flag
n'est pas donné). Si flag='c'
, on a |pol(i omega)|
= |g*prod(lnum_j(i omega)|
.
Si flag='d'
alors
on a |pol(exp(i omega))|
= |g*prod(lnum_i(exp(i omega))|
.
Si l'argument de factors
est une fraction rationnelle 1x1 rat=pol1/pol2
,
les facteurs du numérateur pol1
et le dénominateur pol2
sont renvoyés dans les listes lnum
et lden
, respectivement.
Le "gain" est renvoyé dans g
, c'est à dire
rat = g multiplié par (produit des termes dans lnum) / (produit des termes dans lden).
Si flag
vaut 'c'
(resp. 'd'
), les racines de pol
sont réfléchies par rapport à l'axe imaginaire (resp. le cercle unité), i.e.
les facteurs dans lnum
sont des polynômes stables.
Idem si factors
est appelé avec des arguments rationnels :
les termes dans lnum
et lden
sont des polynômes stables si
flag
est donné. R2=factors(R1,'c')
ou R2=factors(R1,'d')
avec R1
une fraction rationnelle ou une liste syslin
SISO : la sortie R2
est rationnelle avec un numérateur et un dénominateur stables et
de même module que R1
sur l'axe imaginaire ('c'
)
ou le cercle unité ('d'
).