Matlab - 用于生成斐波那契数比率的循环

时间:2016-05-15 19:22:21

标签: matlab

我正在尝试在Matlab中编写一个for循环,它将打印n = 3,...,20的连续Fibonacci数F(n + 1)/ F(n)的比率。我希望这能说明收敛到黄金比例。

我有这个代码(Matlab新手):

f(1) = 0
f(2) = 1
ratio = zeros(1,20);  %Initialize row vector that will contain the ratio's

for n = 3:20
    f(n) = f(n-1) + f(n-2);
    ratio(n) = ratio(f(n+1)/f(n)); % Update row vector after every iteration
end

ratio

我遇到了一个错误,与矩阵尺寸有关。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:2)

无需计算循环中的比率:

n = 20;
f = zeros(n,1);
f(1) = 0;
f(2) = 1;

for k = 3:n
    f(k) = f(k-1) + f(k-2);
end

ratio = f(3:end)./f(2:end-1);