生成八度音阶

时间:2018-10-31 13:17:35

标签: vector sequence octave linear recurrence

如何在Octave中生成以下序列?

  

1、3、17、115

要从一个术语到下一个术语,我们将其乘以7,然后减去4

1 个答案:

答案 0 :(得分:0)

这是解决此类问题的方法之一。由于这听起来很像是编码练习或家庭作业,所以我的回答会有些含糊,同时提供您可以遵循的一般指导以及一些良好做法。

  1. 确定序列的长度和初始值应为:

    IV = 1;
    N = 4; % or 10 or 50 or anything else.
    
  2. 预分配:

    out = zeros(N,1) + IV;
    
  3. 指定重复关系:

    function next = nextElem(currElem)
      % next = f(currElem) like "a*currElem+ b" or any other function. 
      %                   (a,b) should either be inputs or hard-coded.
    endfunction
    
  4. 使用循环或递归,使用适当的输入根据需要多次调用nextElem

  5. nextElem的输出存储在输出矢量的正确位置。

祝你好运!


P.S。

也有可能找到一个可以直接产生第n个元素的方程,但是我将这个方程的推导“作为练习供读者阅读”:

EQ1

例如N=4VI=1 7^3*1 - 4*(49+7+1) = 115