递归Fibonacci Matlab函数
Recursive Fibonacci Matlab function
我尝试编写一个函数来计算斐波那契数列的第 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) ;
我不知道问题到底出在哪里。
第 14 行有一个错字。您刚刚写了“Fibonaccie
”,但一定是 Fibonacci
..
顺便说一句,请注意您不必编写 elseif
条件。您可以使用 or
语句仅用一个 else
来完成。但是,为了使您的代码更健壮,您应该考虑 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
我尝试编写一个函数来计算斐波那契数列的第 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) ;
我不知道问题到底出在哪里。
第 14 行有一个错字。您刚刚写了“Fibonaccie
”,但一定是 Fibonacci
..
顺便说一句,请注意您不必编写 elseif
条件。您可以使用 or
语句仅用一个 else
来完成。但是,为了使您的代码更健壮,您应该考虑 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