在R中迭代方程

时间:2014-10-06 08:16:23

标签: r loops iteration

我有等式:X(n + 1)= R * x *(1 - x),对于某些初始x值和常数R值。

我想迭代这个等式进行一定数量的迭代,从初始值开始,然后使用输出作为后续输入。

我一直在探索R中的许多循环选项,但我仍然无法理解如何告诉R我需要什么(我是一个R菜鸟!)。我看到的每个循环函数都假设我有一些先前的向量/列表来应用函数,我希望每次迭代都使用前面的答案作为输入。

使用for循环,我只收到0.625次迭代,例如:

initial.x <- 0.5
NofIterations <- 1:5
R = 2.5
nofiterations <- 5

for (i in 1:nofiterations) {
y <- R * initial.x * (1 - initial.x)
print(y)
  }

提前感谢任何建议!我知道这很简单,但正常的故障排除似乎不适用于此问题。

2 个答案:

答案 0 :(得分:3)

您是否正在研究如何创建矢量和索引:

> R <- 2.5
> nofiterations <- 5
> x = rep(NA,nofiterations)
> x[1]=0.5
> for (i in 1:nofiterations) {
+ x[i+1] = R * x[i] * (1-x[i])
+ }
> x
[1] 0.5000000 0.6250000 0.5859375 0.6065369 0.5966247 0.6016591
> 

答案 1 :(得分:1)

这是你想要做的吗?

x <- 0.5
R <- 2.5
nofiterations <- 5

for (i in 1:nofiterations) {
  x <- R * x * (1 - x)
  print(x)
}