【问题标题】:adding a matrix loop iterations matlab添加矩阵循环迭代matlab
【发布时间】:2014-04-20 09:48:23
【问题描述】:

我创建了一个函数 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

感谢您的帮助

【问题讨论】:

  • 您希望a=1; a=2; a=3; 创建一个向量吗?您需要使用循环变量对矩阵进行索引。

标签: matlab for-loop matrix fibonacci


【解决方案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

【讨论】:

  • 谢谢!我还实现了单独插入列,matrix(i,1);矩阵(i,2) ...
猜你喜欢
  • 1970-01-01
  • 2013-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多