【发布时间】:2014-05-03 00:34:45
【问题描述】:
我们被分配了一项任务,但我们无法弄清楚:
编写一个 R 函数,它将生成一个包含第一个 n 的向量 斐波那契数列的术语。其中的步骤如下: (a) 创建向量来存储结果。 (b) 初始化前两个元素。 (c) 运行一个循环,i 从 3 到 n,填充第 i 个元素
到目前为止的工作:
vast=function(n){
vast=vector()
vast[1]=1
vast[2]=1
for(i in 3){vast[i]=vast[i-1]+vast[i-2]}
}
我们最终得到的只是错误:“闭包”类型的对象不是可子集的??
我们应该如何生成想要的函数?
【问题讨论】:
-
1.给你的向量一个与函数不同的名称。 2. 创建矢量时,使矢量的类型和大小正确:
fib = numeric(n)。 -
初始化
vast <- rep(NA, n)并正确循环for (i in 3:n)。 -
提示您的第二个问题:google。只需 5 秒,我就有了几个不同的选择。
-
如果你想惹恼你的老师,请使用封闭式;)(通常他们会尝试用斐波那契例子来教授递归)
-
+1 用于展示您的作品。 +infinity 如果您向老师表明您在 StackOverflow 上获得了帮助。