Sucessão de Fibonacci
Resolução da relação de recorrência que a define
17/10/2007
Procedimento que calcula, por recursão, o n-ésimo termo da sucessão de Fibonacci
> | Fibonacci := proc(n::posint) option remember; |
> | if n=1 or n=2 then RETURN( 1 ); fi; |
> | Fibonacci(n-1) + Fibonacci(n-2); |
> | end: |
> | seq(Fibonacci(i), i=1..20); |
Cálculo das raízes da equação característica
> | evals := solve(x^2-x-1,x); |
Resolução do sistema com as condições iniciais
> | sol := solve({ |
> | c1 * evals[1] + c2 * evals[2] = 1, |
> | c1 * evals[1]^2 + c2 * evals[2]^2 = 1 |
> | }, |
> | {c1,c2}); |
Fórmula fechada do n-ésimo termo de Fibonacci
> | Fn := c1 * evals[1]^n + c2 * evals[2]^n; |
> | c1 := sqrt(5)/5; c2 := -sqrt(5)/5; |
Cálculo dos primeiros 20 números de Fibonacci pela fórmula fechada.
> | simplify(c1 * evals[1]^10 + c2 * evals[2]^10); |
> | seq(simplify(c1 * evals[1]^i + c2 * evals[2]^i), i=1..20); |
> | solve(x^2-2*x-2,x); |
> |