我试图编写一个函数来计算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) ;
我不知道问题究竟在哪里。
答案 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