Fibonacci serie, can not calculate with big number

2 次查看(过去 30 天)
function area = triangle_sequence(n)
% Fibonacci% Fibonacci
if n == 1
area= 25
elseif n == 2
area = 25 +16
else
area = triangle_sequence(n-1)+ triangle_sequence(n-2)
end
end
My matlab can not stop while n= 50. I need help !
  1 个评论
Guillaume
Guillaume 2019-1-31
My matlab can not stop while n= 50
It's not suprising, for n=50 you'd be calling your triangle_sequence function about 28 trillion times (28,000,000,000). The time complexity of the naive implementation of the fibonacci sequence is exponential. There are plenty of more efficient algorithms easily accessible with a simple web search.

请先登录,再进行评论。

回答(2 个)

Ollie A
Ollie A 2019-1-31
If you're trying to calculate numbers in the Fibonacci series, there is a MATLAB function for it:
If this doesn't help please could you explain your question in more detail?
  4 个评论
madhan ravi
madhan ravi 2019-2-1
编辑:madhan ravi 2019-2-1
Don‘t do obvious homework problems! Give hints instead.
Guillaume
Guillaume 2019-2-1
I agree with Madhan, giving straight solutions to homework problems is not a good idea. The students don't learn anything from it (and it can get them into trouble if they actually use the solution).
However, in this case, the solution is wrong anyway.

请先登录,再进行评论。


Walter Roberson
Walter Roberson 2019-1-31

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by