Fibonacci Series Using Recursive Function
    조회 수: 14 (최근 30일)
  
       이전 댓글 표시
    
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 ? 
답변 (3개)
  James Tursa
      
      
 2020년 8월 31일
        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
  Varsha Lohani
 2021년 10월 23일
        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
  Sandeep Kumar Patel
 2022년 4월 13일
        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
참고 항목
카테고리
				Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!