我有等式: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)
}
提前感谢任何建议!我知道这很简单,但正常的故障排除似乎不适用于此问题。
答案 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)
}