Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Português - 日本語

Please note that the recommended version of Scilab is 6.0.0. This page might be outdated.
See the recommended documentation of this function

Aide Scilab >> Polynômes > factors

factors

factorisation réelle de polynômes

Séquence d'appel

[lnum,g]=factors(pol [,'flag'])
[lnum,lden,g]=factors(rat [,'flag'])
rat=factors(rat,'flag')

Paramètres

pol

polynôme réel

rat

fraction rationnelle (rat=pol1/pol2)

lnum

liste de polynômes (de degrés 1 ou 2)

lden

liste de polynômes (de degrés 1 ou 2)

g

nombre réel

flag

chaîne de caractères, 'c' ou 'd'

Description

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').

Exemples

n=poly([0.2,2,5],'z');
d=poly([0.1,0.3,7],'z');
R=syslin('d',n,d);
R1=factors(R,'d')
roots(R1('num'))
roots(R1('den'))
w=exp(2*%i*%pi*[0:0.1:1]);
norm(abs(horner(R1,w))-abs(horner(R,w)))

Voir aussi

  • simp — simplification rationnelle
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Wed Oct 05 12:10:56 CEST 2011