在 R 中求和的循环
For loop for summation in R
假设我有以下总结。
[总结图像]。
如何编写 for 循环,以便我可以将值存储到 j = 1 的向量中,一直到 j = m.
我尝试了以下方法
theta1 <- 1
theta2 <- 2
z = c()
for(i in 1:j){
z[i] <- sum(exp[(theta1 * j + theta2 * j)
}
但是,我得到了一个长度为 j 的向量,只有相同的输出
查看方程式,这可能就是您要查找的内容。
首先,您从一个空向量开始 z
:
z = c()
使用您的等式项,我们将索引称为 j
。然后你可能想要一个从 1 到 m
的 for
循环(确保定义 m
)。然后可以按如下方式计算每个元素:
for (j in 1:m) {
z[j] <- exp((theta1 * j) + (theta2 * (j ^ 2)))
}
矢量元素的最终总和为:
sum(z)
由于 exp
是 矢量化的 ,您可以考虑以下替代方案,而不是使用 for
循环:
j <- 1:m
sum(exp((theta1 * j) + (theta2 * (j ^ 2))))
这应该提供相同的答案。
假设我有以下总结。 [总结图像]。 如何编写 for 循环,以便我可以将值存储到 j = 1 的向量中,一直到 j = m.
我尝试了以下方法
theta1 <- 1
theta2 <- 2
z = c()
for(i in 1:j){
z[i] <- sum(exp[(theta1 * j + theta2 * j)
}
但是,我得到了一个长度为 j 的向量,只有相同的输出
查看方程式,这可能就是您要查找的内容。
首先,您从一个空向量开始 z
:
z = c()
使用您的等式项,我们将索引称为 j
。然后你可能想要一个从 1 到 m
的 for
循环(确保定义 m
)。然后可以按如下方式计算每个元素:
for (j in 1:m) {
z[j] <- exp((theta1 * j) + (theta2 * (j ^ 2)))
}
矢量元素的最终总和为:
sum(z)
由于 exp
是 矢量化的 ,您可以考虑以下替代方案,而不是使用 for
循环:
j <- 1:m
sum(exp((theta1 * j) + (theta2 * (j ^ 2))))
这应该提供相同的答案。