MATLAB: Helped needed in Fibonacci Sequence code

fibonacci sequencefibonacci sequence in recursionrecursive function

I already made a code that finds the nth term of a Fibonacci sequence (Fn) using a recursive function but I need help updating this code to also output how many times the recursive sequence ran.
As of right now, the code I have to find the nth term is: (where n=2 and n=1 are the base conditions that tells the recursive function to stop)
function[F_n] = Fibonacci(n)
if n == 2
F_n = 1;
elseif n == 1
F_n = 0;
else
F_n = Fibonacci(n-1) + Fibonacci(n-2);
end
end

Best Answer

Hello Cici. We can solve this by introducing another variable count into the function as shown below.
function[F_n, count] = Fibonacci(n, count)
count = 1;
if n == 2
F_n = 1;
elseif n == 1
F_n = 0;
else
[F_n_1, count_1] = Fibonacci(n-1);
[F_n_2, count_2] = Fibonacci(n-2);
F_n = F_n_1 + F_n_2;
count = count + count_1 + count_2;
end
end
Now your function returns both the Fibonacci number as well as the number of times the function was called.
You may capture only the count in variable ans using this code snippet for the desired value of n.
[~, ans] = Fibonacci(n);
Hope this helps. :)
Related Question