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 > sfact

sfact

factorisation spectrale en temps discret

Séquence d'appel

F=sfact(P)

Paramètres

P

matrice de polynômes réels

Description

Trouve F, un facteur spectral de P. P est une matrice de polynômes telle que chaque racine de P a une image miroir par rapport au cercle unité. Le problème est singulier si une racine se trouve sur le cercle unité.

sfact(P) renvoie une matrice de polynômes F(z) antistable et telle que

P = F(z)* F(1/z) *z^n

Pour les polynômes scalaires un algorithme spécifique est utilisé. Les algorithmes sont tirés du livre de Kucera.

Exemples

// polynôme simple
z=poly(0,'z');
p=(z-1/2)*(2-z)
w=sfact(p);
w*numer(horner(w,1/z))

// exemple matriciel
F1=[z-1/2,z+1/2,z^2+2;1,z,-z;z^3+2*z,z,1/2-z];
P=F1*gtild(F1,'d');  // P est symétrique
F=sfact(P)    
roots(det(P))  
roots(det(gtild(F,'d')))  // Les racines stables
roots(det(F))             // Les racines antistables
clean(P-F*gtild(F,'d'))

// Utilisation en temps continu
s=poly(0,'s');
p=-3*(s+(1+%i))*(s+(1-%i))*(s+0.5)*(s-0.5)*(s-(1+%i))*(s-(1-%i));p=real(p);
// p(s) = polynôme dans s^2, cherche un f stable tel que p=f(s)*f(-s) 
w=horner(p,(1-s)/(1+s));  // transformation bilinéaire w=p((1-s)/(1+s))
wn=numer(w);              // prend le numérateur
fn=sfact(wn);f=numer(horner(fn,(1-s)/(s+1))); // Factorisation et transformation inverse
f=f/sqrt(horner(f*gtild(f,'c'),0));f=f*sqrt(horner(p,0));      // normalisation
roots(f)    // f est stable
clean(f*gtild(f,'c')-p)    //f(s)*f(-s) est égal à p(s)

Voir aussi

  • gtild — tilde operation
  • fspecg — stable factorization
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