[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [obm-l] Recorrencias Lineares



> ou ha um metodo melhor,  para calcular isso?
> 
> Obrigado.
> --------------------------------------------------
>                      Rafael
> 

Acredito que a ferramenta que voc� procure seja a
transformada Z. Eu n�o deveria responder sobre um
assunto em que eu estou t�o enferrujado, mas...

A transformada Z � o equivalente em sistemas
discretos/amostrados da transformada de Laplace em
sistemas no dom�nio tempo. Da mesma forma que a
transformada de Laplace facilita a solu��o de EDOs
envolvendo fun��es cont�nuas, a transformada Z
facilita a resolu��o de equa��es de diferen�as
lineares a coeficientes constantes do tipo que vc
descreveu. 

http://en.wikipedia.org/wiki/Z-transform

Nos cursos de engenharia el�trica esta analogia entre
sistemas cont�nuos/amostrados � explorada porque as
cadeiras de an�lise de sistemas/controle vem antes de
DSP/sistemas amostrados. Creio que esta estrutura��o
facilita mesmo as coisas pq, em v�rios aspectos, a
obten��o de propriedades do sistema amostrado atrav�s
da transformada Z de sua fun��o de transfer�ncia tem
paralelos � an�lise de sistemas cont�nuos atrav�s da
transformada de Laplace.

Tomando o seu exemplo, e supondo a recorr�ncia valendo
para n >=0: 
x_n - 5*x_(n-1) + 6*x_(n-2) = 5 + 3*n +2*n^2 
Vamos arbitrar x[n]==0 para n<0 e calcular x[1],x[2]
pela f�rmula:
x0 �5*0 +6*0 = 5 + 3*0 +2*0 => x0 = 5
x1 �5*5 +6 *0 = 5 +3 + 2 => x1 = 35

Para condi��es inicias diferentes, um m�todo seria
transform�-las em entradas, usando a fun��o delta de
Dirac.  Veja:
http://fourier.eng.hmc.edu/e102/lectures/Z_Transform/node15.html

Voltando � express�o original devemos aplicar a
transformada Z nos dois lados da igualdade. Isso se
faz usando tabelas de transformadas Z, do mesmo modo
como se usa Laplace para uma EDO:
 
x_n - 5*x_(n-1) + 6*x_(n-2) = 5 + 3*n +2*n^2 =>
aplicando a transformada Z temos: 

X(z) �5*X(z)/z +6*X(z)/z^2  =  5/(1-1/z)
+3/z/(1-1/z)^2 + 2/z*(1+1/z)/(1-1/z)^3

X(z) *( 1 �5/z +6/z^2) = 5/(1-1/z) +3/z/(1-1/z)^2 +
2/z*(1+1/z)/(1-1/z)^3

X(z) = (5/(1-1/z) +3/z/(1-1/z)^2 +
2/z*(1+1/z)/(1-1/z)^3) * 1/(1 �5/z +6/z^2)

Agora a antitransformada Z de X(z) lhe dar� a x[n]
procurada. Para obt�-la, vc deve decompor X(z) em
fra��es parciais... 

X(z) = 1  -80/(z-2)  +2/(z-1)^3  +243/4/(z-3) 
+23/2/(z-1)^2  +121/4/(z-1) 

... e obter a antitransformada Z de cada termo  a
partir de uma tabela de transformadas Z...

Somando tudo temos:

x[n] = 91/4  +17/2*n +n^2  +153/4*3^n  -56*2^n

Veja que apenas reparando na express�o da transformada
Z, podemos dizer coisas importantes sobre x[n]. No
caso, X(z) tem p�los fora do c�rculo de raio unit�rio
em torno da origem no plano complexo, o que nos indica
que x[n] -> oo quando n->oo. 

Outra observa��o interessante � que usando a
transformada Z vc pode obter o que se chama de fun��o
de transfer�ncia do sistema. Observe que o lado
esquerdo da sua recorr�ncia representa a influ�ncia de
valores passados da sequ�ncia na resposta atual. Isso
representa uma �mem�ria� do sistema, ou, para os
engenheiros, a sua caracteriza��o. Do lado direito, vc
tem a influ�ncia da entrada, um valor de excita��o em
fun��o de n. Para os engenheiros � importante isolar
as caracter�sticas do sistema, independentemente da
entrada. Imagine que vc defina uma outra entrada
qualquer no seu sistema, expressa como uma fun��o de
n: E[n]

A sua resposta, em termos de transformada Z seria data
por:
X(z) = 1/(1 �5/z +6/z^2) * tranfZ{E[n]} 

A parte 1/(1 �5/z +6/z^2) permanece e representa um
comportamento que � caracter�stico do sistema. Os
engenheiros chamam isso de fun��o de transfer�ncia.

Mas, como eu disse no in�cio, estou muito, muito
enferrujado nisso. Se algu�m trabalha com DSP na lista
poder� responder com muito mais propriedade, e dar
alguma refer�ncia melhor.  

[]�s  Dem�trio


--- Rafael <rfa1989@gmail.com> escreveu:

> Qual o metodo que voces usam para resolver
> recorrencias lineares
> nao-homogeneas do tipo: a_n*x_n +...+a_0*x_0 = P(n)
> sendo P(n) um polinomio em n.
>  Ex.: x_n - 5*x_(n-1) + 6*x_(n-2) = 5 + 3*n +2*n^2
> 
> Li uma solucao de um problema parecido com esse (mas
> do mesmo formato
> geral que eu descrevi acima) , onde o autor ao meu
> ver "chuta" que x_n
> � da forma x_n = A*n^2 + B*n +C , e substitui nos
> x_n, x_(n-1), etc do
> problema.
> Depois usa identidade de polinomios para determinar
> A,B,C  e depois
> soma essa solucao com a solucao do caso homogeneo
> (como se o segundo
> membro fosse zero).
> 
> Como � que eu vou saber que polinomio devo "chutar"
> para a forma x_n?
> sera que � sempre um polinomio do mesmo grau que
> P(n)?
> ou ha um metodo melhor,  para calcular isso?
> 
> Obrigado.
> --------------------------------------------------
>                      Rafael
> 
>
=========================================================================
> Instru��es para entrar na lista, sair da lista e
> usar a lista em
> http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
>
=========================================================================
> 


__________________________________________________
Fale com seus amigos  de gra�a com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 
=========================================================================
Instru��es para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=========================================================================