如何多次运行算法并将结果存储在R中的矩阵中?

时间:2015-08-28 09:23:05

标签: r algorithm

假设我正在运行以下循环(尝试为y实现收敛)

j=1
maxiter=10

for (j<maxiter) {

y[j]=y[j-1]+1  (#just to take an e.g of newton raphson method)

j=j+1

}

我想运行此循环500次并将y的结果值放在矩阵中。更具体地说,如果我正在运行算法并且我想运行算法500次,我该怎么做?

1 个答案:

答案 0 :(得分:0)

首先,你似乎正在混淆'for loops'和'while loops' 通过给出要使用的值集合来使用'for循环',例如, for(i in 1:10)将运行10次,每次循环从1到10逐步改变i的值 只要条件满足,'while循环'将无限运行,例如 i=1 while(i<10) i=i+1
这将运行9次,导致i == 10.

如上面的评论中所示,可能有更有效的方法来实现您的目标,但为了与原始代码保持一致,您需要这样的内容:

j=1  
y=1 # Whatever starting value you think appropriate for your convergence.
while(j<500) y[j+1]=y[j]+1

这将创建一个值向量(虽然在这种情况下不收敛)。