循环中的术语包含自身

时间:2018-04-12 08:22:41

标签: r loops

y <- rnorm(5)
X <- matrix(rnorm(15),5)
b <- rep(0, 3)
e <- y - X%*%b

w <- rep(0, 3)

A <- c(1,2,1)  

for(i in 1:10){
  for(j in 1:3){
    e <- e + X[,j]*b[j]
    xe <- sum(X[,j]*e)
    w[j] <- xe
    b[j] <- xe - (A%*%w - 1.5)
    e <- e - X[,j]*b[j]
  }
}

这是一个生成向量b的虚拟代码。这里的问题是循环中的一个向量是w,它取决于b中的所有项: 此w向量会将b作为向量而不是按术语进行影响。但w中的字词也取决于b[j]。 在内循环中w向量是

1.78787 0.00000 0.00000         # first iteration
1.787870 -1.231099  0.000000    # second iteration
1.787870 -1.231099  7.507026    # Third iteration

分别用于i上的第一次迭代。

根据理论,w应采用第三次迭代的形式,而不是采用零的形式。这意味着对于b[1]w有三个零,b[2]w有两个零等,但我需要对所有{w使用相同的b[j] {1}}的

我希望,我解释得恰到好处。也许这很简单,但我很困惑。

对此情况进行编码的最佳方法是:估算b的迭代取决于b中的所有字词?

这背后的数学总结如下。迭代b[j]直到收敛。

enter image description here

0 个答案:

没有答案