R中的for循环计算错误结果

For loop in R calculation wrong result

我要计算 sum_{i}^{n} x_{i}^2 * lambda^(n-i) / sum_{i}^{n} lambda^(n-i)

在 R 中这样做我设法做到了 following.But 零 occured.What 我做错了吗?


n = 10
x = seq(1,n,1);x
lambda = 0.99 
mat = 0 
for (i in 2:n) {
  mat = (lambda^(n-i)*x[i-1]^2) /  (lambda^(n-i))
}
mat


结果必须是每个条目的方差x_{i}

好的,我试试看是不是你需要的@The Red:

n <-  10
x <-  seq(1,n,1);x
lambda <-  0.99 
mat <- 0
vect_mat <- rep(0, n-1); vect_mat
for (i in 2:n) {
  mat <-  mat + (lambda^(n-i)*x[i-1]^2) /  (lambda^(n-i))
  vect_mat[i-1] <- mat
}
mat
vect_mat

在 运行 之后,结果是:

> mat
[1] 285
> vect_mat
[1]   1   5  14  30  55  91 140 204 285