Wie berechne ich die n-te Zahl der Fibonacci Folge?

...komplette Frage anzeigen

6 Antworten

Du suchst vermutlich nur die primitive Sonderfall Rekursion für ganze Zahlen:

f[x]=f[x-1]+f[x-2]

"Ganzzahlige Funktionswerte berechnen sich aus der Summe der beiden Vorgänger."

Mit einfacher double-Genauigkeit kommen normale Rechner wie der Iterationsrechner

http://www.gerdlamprecht.de/Roemisch_JAVA.htm#ZZZZZ0007

bis etwa Index 78 (Argument x).

Danach wird es ungenau und langsam!

Dabei gibt es längst eine exakte explizite Formel

[((1+sqrt(5))/2)^x-(2/(1+sqrt(5)))^x*cos(pi*x)]/sqrt(5)

sqrt(x)=x^(1/2) ist die Wurzelfunktion.

Der wissenschaftliche Umkehrfunktionen Rechner schafft locker bis Index 9999999999999999999999999999999 und auch komplexe Argumente.

siehe Bild

Funktion Fibonacci(x) per Umkehrfunktionen Rechner - (Mathe, Mathematik) Fibonacci per Plotter - (Mathe, Mathematik)
hypergerd 07.11.2015, 14:34

Teil2:

f(-x)=f(x)*(-1)^(x+1)

In Worte: Wenn Du den Funktionswert negativer Argumente suchst,nimm einfach den der positiven und multipliziere das Ergebnis mit (-1) hoch (x+1).

Ergibt sich automatisch aus meiner expliziten Formel.

Fibonacci(-5)=5*(-1)^6=5

0

Wahrscheinlich brauchst du das für den Informatik-Unterricht (oder weil du einfach Interesse daran hast). Wenn das n sagen wir kleiner 20 ist, kannst du das noch einigermaßen bequem mit dem Taschenrechner machen, indem du einfach mit 1 1 anfängst und dann immer die nächste Zahl bildest, indem du die letzten beiden zusammen zählst. Das geht auch mit Excel oder LibreCalc ganz gut. Da du eh schon in die Wikipedia geguckt hast, findest du dort die Werte bis n=50.

Für größere Zahlen nimmst du die Formel von Moivre/Binet, aber dann kriegst du mit dem Taschenrechner auch nur die ersten ca. 10 Stellen.

Die Formel, die du gefunden hast und mit der du nichts anfangen kannst, ist eine Erweiterung auf negative n (Warum hast du dir ausgerechnet die ausgesucht, in dem Artikel steht noch haufenweise anderes unverständliches Zeugs)

Mit einer Programmiersprache -->

Einfacher Programmtext -->

INPUT "Anzahl der Fibonacci-Zahlen ohne die Zahl 0 "; n

w1 = 0

w2 = 1

i = 1

PRINT i, w2

FOR i = 1 TO (n - 1)

w = w1 + w2

PRINT i + 1, w

w1 = w2

w2 = w

NEXT i

--------------------------------------------------------------------------------------------------

Wenn man die Zahl 0 auch als Fibonacci-Zahl ansehen will, dann kann man das Programm babyleicht abändern.

Wenn n eine Hochzahl ist würde ich es mit dem Logharythmus ausrechnen aber sonst weiß ich es nicht.. du könntest auch bei gute mathe fragen deine frage stellen, da musst du dich auch nicht anmelden und bekommst die richtige lösung :-)

hypergerd 07.11.2015, 14:24

Machst Du hier Werbung für andere Foren?

Viele der guten Mathematiker antworten in beiden Foren...

0

Fi+2 = fi+1+ fi

So sagen wir 5. Bindeglied, dazu musst du das 4. und das 3. nehmen und addieren :)

ThomasAral 07.11.2015, 08:43

tja und jetzt sag mir mal  F100 ohne alle 99 vorher zu berechnen und ne stunde zu brauchen :-)

0
TheChaosDream 07.11.2015, 08:44

Tja, dafür gibt es Computer. (:
Da tippst du dann ein, welche du haben möchtest und Zack ist das Ergebnis da (:

0

Was möchtest Du wissen?