Scilab 6.0.1
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
sfact
fatoração espectral em tempo discreto
Seqüência de Chamamento
F=sfact(P)
Parâmetros
- P
matriz de polinômios reais
Descrição
Acha F
, um fator espectral de
P
. P
é uma matriz de polinômios tal
que cada raiz de P
possui uma imagem simétrica em
relação ao cÃrculo unitário. O problema é singular se uma raiz estiver no
cÃrculo unitário.
sfact(P)
retorna uma matriz de polinômios
F(z)
que é anti-estável e tal que
P = F(z)* F(1/z) *z^n
Para polinômios escalares um algorimto especÃfico é implementado. Os algoritmos são implementados do livro de Kucera.
Exemplos
//exemplo polinomial p = (%z -1/2) * (2 - %z) w = sfact(p); w*(horner(w, 1/%z)).num
//exemplo matricial 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 é simétrica F = sfact(P) roots(det(P)) roots(det(gtild(F,'d'))) // as raÃzes estáveis roots(det(F)) // as raÃzes anti-estáveis clean(P-F*gtild(F,'d'))
// exemplo de uso de tempo contÃnuo 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) = polinômio em s^2 , procura por f estável tal que p=f(s)*f(-s) w = horner(p,(1-s)/(1+s)); // transformação bilinear w=p((1-s)/(1+s)) wn = w.num; // tomando o numerador fn = sfact(wn); // fator e .. f = horner(fn,(1-s)/(s+1)).num; // transformação de volta f = f/sqrt(horner(f*gtild(f,'c'),0)); f = f*sqrt(horner(p,0)); // normalização roots(f) //f é estável clean(f*gtild(f,'c')-p) // f(s)*f(-s) é p(s)
Report an issue | ||
<< rowcompr | Polinômios | simp >> |