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); |
| > |