Рассмотрим функцию f
из двух аргументов x
и a
. Сначала я беру интеграцию f
относительно x
, которая становится функцией g
от a
. Во-вторых, я хочу найти корень полученной функции g
из a
. Могу ли я сделать это, используя uniroot
и integrate
в R
? Если да, то как? Если нет, есть ли способ сделать это вообще? Благодарю.uniroot в R при наличии двух неизвестных
b <- 2
truncfn <- function(x) pmin(b, pmax(x, -b))
# thetashape and thetascale are constants
# x and a are arguments
f <- function(x, thetashape, thetascale, a){
term1 <- -1/thetascale
term2 <- (1-thetashape)/thetascale
term3 <- x/(thetascale-thetashape*x)
term1 + term2*term3 - a
}
# First, integrate f with respect to x
g <- integrate(truncfn(f), lower=0, upper=Inf)
# Second, find root of g
uniroot(g, ...)