Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
6.1.1 - Français

Change language to:
English - 日本語 - Português - Русский

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

Aide de Scilab >> Polynômes > sfact

sfact

factorisation spectrale en temps discret

Séquence d'appel

F = sfact(P)

Paramètres

P

matrice carrée 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 un polynôme unique, un algorithme spécifique est utilisé. Les algorithmes sont tirés du livre de Kucera.

Exemples

// Polynôme unique
p = (%z -1/2) * (2 - %z)
w = sfact(p);
w*horner(w, 1/%z).num

// exemple matriciel
z = %z;
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')))  // racines stables
roots(det(F))             // racines anti-stables
clean(P-F*gtild(F,'d'))

// Utilisation en temps continu
s = %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 = w.num;                 // prend le numérateur
fn = sfact(wn);             // Factorisation
f = horner(fn,(1-s)/(s+1)).num; // 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 of continuous time dynamical systems
Report an issue
<< rowcompr Polynômes simp >>

Copyright (c) 2022-2023 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Jan 03 14:33:06 CET 2022