Fibonacci Series Using Recursive Function
63 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I want to write a ecursive function without using loops for the Fibonacci Series. I done it using loops
function f =lfibor(n)
for i=1:n
if i<=2
f(i)=1;
else f(i)=f(i-2)+f(i-1);
end
end
end
I got the bellow code but It does not work for many RANDOM Number such as N=1
function v = fibor(n,v)
if nargin==1
v = fibor(n-1,[1,1]);
elseif n>1
v = fibor(n-1,[v,v(end-1)+v(end)]);
elseif n<1
v = 0;
end
How can I fix these ?
Antworten (3)
James Tursa
am 31 Aug. 2020
All of your recursive calls decrement n-1. Eventually you will wind up with the input n=0 and just return v=0, which is not what you want. Get rid of that v=0.
0 Kommentare
Varsha Lohani
am 23 Okt. 2021
a = lfibor(5)
function f =lfibor(n)
if ~isscalar(n) || n ~= fix(n) || n < 0
error('non-negative integer scale input expected')
end
for i=1:n
if i<=2
f(i)=1;
else
f(i)=f(i-2)+f(i-1);
end
end
end
0 Kommentare
Sandeep Kumar Patel
am 13 Apr. 2022
function v = fibor(n,v)
if nargin==1
v = fibor(n-1,[1,1]);
elseif n>1
v = fibor(n-1,[v,v(end-1)+v(end)]);
elseif n<1
v = 1;
end
0 Kommentare
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!