3 votos

Encontrar el índice del número de Fibonacci más cercano a un valor dado

Aquí está:

Encuentre $n$ , de tal manera que $F(n)$ La [función Fibonacci] es el número Fibonacci más cercano a $a$ o, en otras palabras, que $\text{abs}(F(n)-a)$ es mínimo.

Creo que debería haber una forma de implementar un algoritmo, pero más bien estoy buscando una prueba matemática. Lo que he intentado hasta ahora es tomar la forma generalizada no recursiva de la función Fibonacci, aislar el $n$ y luego crear una función $f(a, n)$ del valor absoluto de $F(n) - a$ y luego tomar la derivada con respecto a $n$ y luego ponerlo en $0$ Pero creo que esta no es la forma de encontrar los máximos y mínimos de las funciones de varias variables (todavía no he llegado a esa parte del cálculo). Estoy buscando una aclaración sobre el método correcto para encontrar dicho valor de $n$ para esta función, o incluso un enfoque completamente diferente.

0 votos

Tal vez encuentres este documento útil.

4voto

Paolo Leonetti Puntos 2966

Se sabe que $$ f_n=\frac{\varphi^n-\varepsilon^n}{\sqrt{5}}, $$ donde $\varphi:=\frac{1}{2}(1+\sqrt{5})$ y $\varepsilon:=\frac{1}{2}(1-\sqrt{5})$ . Tenga en cuenta que $|\varepsilon|<1$ Por lo tanto $$ f_n=\frac{\varphi^n}{\sqrt{5}}+o(1). $$ En este punto, si quieres encontrar el valor "más cercano" a un real positivo $a$ es suficiente para minimizar $$ \left|\frac{\varphi^n}{\sqrt{5}}-a\right|, $$ que es el número entero más cercano a $$ \log_\varphi(\sqrt{5}a)=\frac{\frac{1}{2}\log 5 + \log a}{\log \varphi} \approx \frac{0.80472+\log a}{0.481212}. $$

Ps. Nótese que el "más cercano" no siempre está bien definido, de hecho hay infinitos números de Fibonacci Impares consecutivos (por lo que su media tiene la misma distancia de ambos). Por último, la aproximación anterior da la respuesta correcta con un error de como máximo $1$ (o $2$ para valores pequeños de $a$ ).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X