【发布时间】:2021-01-24 15:39:16
【问题描述】:
我在 R 语言中得到一个问题,要找到递归关系 x(n) = 2*x(n-1) - x(n-2) 的第 30 项,其中 x(1) = 0 和 x(2) = 1。我知道答案是 29 从数学推导。但是作为 R 的新手,我对如何在这里工作感到有些困惑。以下是我的代码:
loop <- function(n){
a <- 0
b <- 1
for (i in 1:30){
a <- b
b <- 2*b - a
}
return(a)
}
loop(30)
结果我返回了 1,这太离谱了。
如果您想知道为什么这看起来像 Python,那么到目前为止,我大多只接触过 Python 编程(我一般是编程新手)。我试图检查 R 中的所有语法,但我想我的逻辑已被 Python 完全固定。在这种情况下有人可以帮助我吗?另外,R有没有像PythonTutor这样的资源来帮助可视化代码执行逻辑?
谢谢!
【问题讨论】:
标签: r matrix iteration linear-algebra recurrence