Running single test from unittest.TestCase via command line

#python testMyCase.py MyCase.testItIsHot

Anúncios

Funções Recorrentes I

Eq. lineares de 2ª ordem com coeficientes constantes

Demonstrar que o seguinte algoritmo:

funtion g(n)
   if (n<=1) then
      return(n)
   else
      return(5*g(n-1)-6*g(n-2))

permite calcular os valores de: 3^n-2^n\forall \hspace{2mm}n>=0.

Resolução:

O algoritmo pode ser definido pela seguinte função recorrente:

g(n) = \left\{ \begin{array}{rcl} n , n\leq 1\\5g(n-1)-6g(n-2)\end{array}\right.

Onde:

Condição Inicial: g(n) = n, n\leq
Equação de Recorrência: g(n) = 5g(n-1) - 6g(n-2)

Eq. de Recorrência na forma de eq. Linear de 2ª Ordem: g(n) - 5g(n-1) + 6g(n-2) = 0

Cuja eq. Característica é: r^2 - 5r + 6 = 0

Resolvendo a eq. Característica encontramos duas raízes: r_1 = 3,\hspace{2mm} r_2 = 2.

Como r_1 \neq r_2 Podemos utilizar a fórmula g(n) = \alpha \cdot r_1^n + \beta \cdot r_2^n onde  \alpha \hspace{2mm}e\hspace{2mm} \beta são constante arbitrárias reais.

Substituindo as raízes encontradas temos g(n) = \alpha \cdot 3^n + \beta \cdot 2^n.

E para os casos particulares, conhecidos: g(0) = 0 \hspace{2mm}e\hspace{2mm} g(1) = 1 podemos estabelecer o seguinte sistema:

\left\{ \begin{array}{rcl}\alpha \cdot 3^0 + \beta \cdot 2^0 = 0 \\ \alpha \cdot 3^1 + \beta \cdot 2^1 = 1 \end{array}\right., onde \alpha = 1, \beta = -1 é solução única do sistema, logo

g(n) = 3^n - 2^n.