我正在尝试使用 uniroot 函数获取日志内变量的值。在我想求解的方程的函数中,我打算有一个向量参数,以便我可以将该向量中的值乘以每个日志。
我已经尝试过这个线程中显示的方法:在 R 中的 uniroot 中调用具有多个参数的函数, 但没有成功。请帮忙。谢谢你。
prob.vals <- c()
x <- 1
for (i in 0:4) {
prob.calcs = q^(i)*(1-q)^(4-i)
prob.vals[x] = prob.calcs
x <- x + 1
}
# want to find the value of P
f = function(P, B = c()) {
log(5 + 4*P - 4)*B[5] + log(5 + 4*P - 3)*B[4]
+ log(5 + 4*P - 2)*B[3]+log(5 + 4*P - 1)*B[2] +
log(5 + 4*P)*B[1] - log(5)
}
uniroot(function(P) f(P, B = prob.vals), lower = 0, upper = 99999999)$root