递归Fibonacci Matlab函数

时间:2015-01-01 23:42:58

标签: matlab recursion fibonacci

我试图编写一个函数来计算Fibonacci系列的第n个元素:

function [F] = Fibonacci(n)

if n==0
F = 0 ;
elseif n==1
F = 1 ;
else 

F = Fibonaccie(n-1) + Fibonacci(n-2) ;

end
end

但结果我得到了这个:

Undefined function 'Fibonaccie' for input arguments of type 'double'.

Error in Fibonacci (line 14)
    F = Fibonaccie(n-1) + Fibonacci(n-2) ;

我不知道问题究竟在哪里。

1 个答案:

答案 0 :(得分:2)

第14行有一个拼写错误。您刚刚写过“Fibonaccie”,但必须是Fibonacci ..

顺便说一句,请注意,您不必写elseif条件。您可以使用else语句只使用一个or来完成此操作。但是,为了使您的代码更加强大,您应该考虑n < 0案例:

function F = Fibonacci(n)

if n < 0
   F = 0;    
elseif n == 0 || n == 1
   F = n ;
else     
   F = Fibonacci(n-1) + Fibonacci(n-2) ;    
end

end