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
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
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
2019-2-1
编辑:madhan ravi
2019-2-1
Don‘t do obvious homework problems! Give hints instead.
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.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!