Musterlösung zur Aufgabe: Fibonaccizahlen

Beachten Sie, dass in Programmablaufplänen leider keine for-Schleifen implementiert werden können.

Das Programm berechnet die gewünschte Fibonacci-Zahl iterativ mit Hilfe einer Liste (eines Vektors), in welchem alle Fibonacci-Zahlen bis zur gesuchten gespeichert werden und die gesuchte Fibonacci-Zahl am Ende aus dem Vektor ausgelesen wird :

fibonacci.m
function fibo = fibonacci(N)
% Berechnet iterativ die Fibonacci-Zahl der uebergebenen natuerlichen Zahl N

if (N <= 0)
 fibo = 0;
else
% Vordefinierte Startwerte
 fibos(1) = 1;
 fibos(2) = 1;
% Berechnung der folgenden Werte bis zur Zahl N mit Hilfe einer while-Schleife
 ii= 3;
 while (ii <= N)
  fibos(ii) = fibos(ii-1) + fibos(ii-2);
  ii = ii + 1;
 end

 fibo = fibos(N);
end

Wie Ihnen möglicherweise aufgefallen ist, kann das "nullte" Element eines Vektors in Matlab nicht definiert werden.

mit der Verwendung von weniger Speicherplatz, aber etwas komplizierter:

fibonacci2.m
function fibo=fibonacci2(index)
%berechnet die Fibonacci-Zahl der uebergebenen natuerlichen Zahl
%fibonacci(I)
if index<=0
 fibo=0;
elseif index==1
 fibo=1;
else
 vorvor=0;
 vor=1;
 n=1;
 while n < index
  n=n+1;
  aktuell=vor+vorvor;
  vorvor=vor;
  vor=aktuell;
 end
 fibo=aktuell;
end