Matlab - 用于循环生成斐波那契数的比例的矢量

问题描述:

我想在Matlab中编写一个for循环,它将打印n = 3的连续斐波纳契数F(n + 1)/ F(n) ...,20.我希望这可以说明黄金比例的收敛性。Matlab - 用于循环生成斐波那契数的比例的矢量

我有这样的代码(新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 

我虽然得到一个错误,具有矩阵尺寸做。任何帮助表示赞赏!

+3

肯定'F(N + 1)'?另外,为什么你在右边标出“比例”? – TroyHaskin

+0

我想你的意思是'比率(n)= f(n)/ f(n-1);' – ThP

+0

啊,我应该让它跑到19呢?我也是索引比率,因为我想每个迭代都要用斐波那契数的比率覆盖向量比中的每个零(每个分量)。 – Kamil

没有必要来计算循环比率:

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);