Matlab函数—Fibonacci数列

Fibonacci 数列由式
在这里插入图片描述
可以生成,其中初值为 a1=a2=1

(1) 函数实现

function A=fib(k)
    B(1)=1;
    B(2)=1;
    for i=3:k
        B(i)=B(i-1)+B(i-2);
    end
    A=B(end);

结果:
在这里插入图片描述
(2)递归

function A=fib_d(k)
    B(1)=1;
    B(2)=1;
    if(k>2)
        for i=3:k
        B(i)=fib_d(i-1)+B(i-2);
        end
    end
    A=B(end);

结果:
在这里插入图片描述
(3)时间比较:

在这里插入图片描述
总结
递归的调用方式速度较慢,比循环语句慢很多,所以不是特别需要,解这样问题没有必要用递归调用的方式。

越是憧憬,越要风雨兼程。

posted @ 2019-03-24 19:30  晨青  阅读(1876)  评论(0编辑  收藏  举报