Fibonacci Sequence Recursion, Help!
5 views (last 30 days)
Show older comments
So, I have to recursively generate the entire fibonacci sequence, and while I can get individual terms recursively, I'm unable to generate the sequence. I already made an iterative solution to the problem, but I'm curious about a recursive one. Also, fib(0) should give me 0(so fib(5) would give me 0,1,1,2,3,5). Here's what I tried:
%
function[y]=fib_recur(n)
y = zeros(1,n);
fib(n);
y=[0 y]
function y = fib(n)
if n<3
y(1:n) = 1;
else
y(n) = fib(n-2) + fib(n-1);
end
y = y(n);
end
end
0 Comments
Accepted Answer
Honglei Chen
on 8 Nov 2012
Several issues:
(1) the result of fib(n) never returned. (2) Your fib() only returns one value, not a series
You can change your third line,
fib(n)
to
for m = 1:n
y(m) = fib(m);
end
so you can build an array.
HTH
3 Comments
Walter Roberson
on 8 Nov 2012
Edited: Walter Roberson
on 8 Nov 2012
function y = fib_recur(n)
if n == 0
y = 0;
else
y = [fib_recur(n-1) fib(n)]
end
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!