HOWTO · MATLAB
MATLAB Fibonacci-Folge
Man kann die Fibonacci-Zahlen mit der Funktion fibonacci() in MATLAB generieren.
Auf dieser Seite
Mit MATLABs Funktion fibonacci() lässt sich ein einzelner Fibonacci-Wert berechnen oder die Funktion auf einen Vektor von Indizes anwenden. Für ein großes Ergebnis übergeben Sie einen mit sym() erstellten symbolischen Index, damit der Wert exakt bleibt. Diese Funktionen erfordern die Symbolic Math Toolbox.
Eine Fibonacci-Zahl in MATLAB berechnen
In der Fibonacci-Folge ist jeder Wert nach den ersten beiden die Summe der beiden vorherigen Werte. Dieser Artikel verwendet die Konvention F₁ = 1 und F₂ = 1, also Fₙ = Fₙ₋₁ + Fₙ₋₂ für n ≥ 3. Der Index n bezeichnet eine Position in der Folge und nicht die Anzahl der zu erzeugenden Werte.
Um den zehnten Wert zu berechnen, geben Sie fn = fibonacci(10) ein. Nach dieser Konvention ist das Ergebnis 55. Der MATLAB-Aufruf ist hier als Inline-Ausdruck dargestellt, da die konfigurierte Ausführungsumgebung MATLAB nicht ausführt; das Ergebnis wurde hier nicht unabhängig ausgeführt.
Eine Fibonacci-Folge mit einem Vektor erzeugen
Übergeben Sie fibonacci() einen Vektor mit Indizes, um die zugehörigen Werte in einem Aufruf zu erhalten. Für die ersten zehn Werte verwenden Sie v = 1:10; fn = fibonacci(v). Das ergibt den Zeilenvektor [1 1 2 3 5 8 13 21 34 55]. Die Einträge in v sind Positionen in der Folge; jedes Ergebniselement gehört zum Index an derselben Position.
Der MATLAB-Ausdruck steht inline statt in einem ausführbaren Codeblock, weil MATLAB für diesen Artikel nicht zu den verfügbaren Laufzeitumgebungen gehört. Die angegebenen Werte ergeben sich aus der Rekursion und der obigen Konvention F₁ = F₂ = 1.
Große Fibonacci-Zahlen symbolisch darstellen
Ein numerisches Ergebnis für einen großen Index kann in wissenschaftlicher Schreibweise angezeigt werden; dabei werden die dargestellten Ziffern gerundet. Um die ganze Zahl exakt zu erhalten, wandeln Sie den Index vor dem Aufruf von fibonacci() in einen symbolischen Wert um: fn = fibonacci(sym(300)). Zum Vergleich: fibonacci(300) liefert einen numerischen Wert, der näherungsweise als 2.2223e+62 angezeigt wird. Der symbolische Aufruf stellt dagegen den exakten 300. Fibonacci-Wert dar: 222232244629420445529739893461909967206666939096499764990979600.
Das symbolische Ergebnis ist hilfreich, wenn Sie die vollständige ganze Zahl statt einer Gleitkomma-Näherung benötigen. Einzelheiten zur Funktion finden Sie in der fibonacci-Dokumentation von MathWorks. Die MATLAB-Beispiele in diesem Artikel wurden in der konfigurierten Laufzeitumgebung nicht ausgeführt.