我有以下代码片段总和s
,我用两种方式编写。两个表达式虽然相同,但给出了两个不同的答案。在它应该具有正值的情况下,输出将变为负值。请告诉我它为什么会发生以及如何纠正它。
n <- 40
k <- 20
m <- 30
T <- 1.2
t1 <- 3
(1)表达和的第一种方式
s <- 0
for (j in 0:(m-1)) {
a <- choose(m-1, j)*(-1)^j*(1/(n-m+1+j))*(1-exp(-T*(n-m+1+j)*(1/t1)))
s <- s + a
}
s <- s * m*choose(n, m)
(2)表达相同总和的第二种方式是
s <- 0
for (j in 0:(m-1)) {
a <- choose(m-1, j)*(-1)^j*(1/(n-m+1+j))*(1-exp(-T*(n-m+1+j)*(1/t1)))*m*choose(n, m)
s <- s + a
}