在matlab中添加矩阵循环迭代

在matlab中添加矩阵循环迭代,matlab,for-loop,matrix,fibonacci,Matlab,For Loop,Matrix,Fibonacci,我创建了一个函数Cont\u frac(n)返回“连分数”的第n个元素,其他fib(n)返回斐波那契序列第n个元素和n-1个元素之间的数量。我想编写一个循环,返回一个矩阵,其中包含两个函数的值以及黄金分割率之间的差值 我想到了下面的代码,但是matlab在赋值A(I)=B中说,B和I中的元素数量必须相同 感谢您的帮助您不能将向量值分配给标量矩阵(i)。您需要明确地告诉MATLAB,您希望将RHS作为向量存储在第i个位置。 因此,代码应为: matrix=zeros(4,5); %This dim

我创建了一个函数
Cont\u frac(n)
返回“连分数”的第n个元素,其他
fib(n)
返回斐波那契序列第n个元素和n-1个元素之间的数量。我想编写一个循环,返回一个矩阵,其中包含两个函数的值以及黄金分割率之间的差值

我想到了下面的代码,但是matlab在赋值A(I)=B中说,B和I中的元素数量必须相同


感谢您的帮助

您不能将向量值分配给标量
矩阵(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

您是否希望
a=1;a=2;a=3创建向量?您需要使用循环变量索引到矩阵中。谢谢!我还通过矩阵(I,1)分别实现了插入列;矩阵(i,2)。。。
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