我创建了一个函数Cont_frac(n)
,返回“连续分数”的第n个元素和其他fib(n)
,它返回斐波那契序列的第n个元素和n-1元素之间的quocient。我想编写一个循环,它返回一个矩阵,其中包含我的两个函数的值以及黄金比率之间的相应差异。
我认为以下代码但是matlab说在赋值A(I)= B中,B和I中的元素数必须相同。
matrix=zeros(5,4);
phi=(1+sqrt(5))/2
for i=1:5
matrix(i)=[Cont_frac(i);fib(i);abs(Cont_frac(i)-phi);abs(fib(i)-phi)]
end
感谢您的帮助
答案 0 :(得分:1)
您无法将矢量值指定给标量matrix(i)
。您需要明确告诉MATLAB您希望将RHS存储为第i个位置的向量。
因此,代码应为:
matrix=zeros(4,5); %This dimension was incorrect given what you wanted to achieve.
phi=(1+sqrt(5))/2
for i=1:5
matrix(:,i)=[Cont_frac(i);fib(i);abs(Cont_frac(i)-phi);abs(fib(i)-phi)]
%Notice the second index in the matrix
end