如何在另一个向量中动态添加向量

时间:2019-02-01 18:57:14

标签: r

那么,我想做什么?

我想迭代一个表达式 n 次并将其添加到向量 x 中,然后我想更改一个参数( r )然后再次进行迭代,然后将这些元素添加到相同的向量中,而不会丢失有关先前迭代的信息。

我尝试了什么?

while(rmin<=rmax){
  while(cont!=n){
    y=rmin*x*(1-x)
    x=y
    vec[cont]<-x
    cont=cont+1
 }
for (i in n:length(vec)){
     plotvec[i] <- vec[i]
 }
 cont=0
 rmin=rmin+rstep
}

因此,由于我不知道如何继续向向量 vec 添加数字,因此我创建了另一个称为 plotvec 的向量,该向量在代码离开第二个< em> while ,它应该接收所有 vec 值。

我想知道的事情 如何使其工作,因为事实并非如此。以及如何使其更加清晰典雅。作为一名编码初学者,如果可能的话,我会要求不要使用花哨的解决方案。

我期望得到什么结果 使用这些参数和条件:

rmin<-2.4
rmax<-4.0
rstep<-0.01
n<-1000
x<-0.2
y<-0
i<-0
cont<-0
vec<-numeric()
plotvec<-numeric()

要获得包含所有数据的向量,我需要绘制一个双向视图。我的目的是针对 plotvec 绘制rmin和rmax之间的间隔。

非常感谢您。

1 个答案:

答案 0 :(得分:0)

好吧,我设法解决了我的问题(我本来是想一些更简单的事情),但是现在我遇到了一个新问题。

首先,我提出了解决方案(idk,也许将来有人会觉得有用)

  while(rmin<=4){
   while(cont!=n){
    y=rmin*x*(1-x)
    x=y
    vec<-c(vec,x)
    cont=cont+1
   }
   rmin=rmin+rstep
   cont=0
  }

我得到的结果是:bifucation diagram result

但是我希望在X轴上有一个从2.4到4的序列。所以我创建了一个像这样的序列:

xlabel <- seq(from=2.4, to=4, by=0.01)

但是我绘制时得到的结果不是我期望的

plot(cbind(xlabel,vec),xlab="R", ylab="X")

Unexpected result