Scilab 6.0.0
Ajuda do Scilab >> Polinômios > sfact
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 z=poly(0,'z'); p=(z-1/2)*(2-z) w=sfact(p); w*numer(horner(w,1/z)) //exemplo matricial 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=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) = 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=numer(w); //tomando o numerador fn=sfact(wn);f=numer(horner(fn,(1-s)/(s+1))); //fator e 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)
Comments
Add a comment:
Please login to comment this page.