使用 R 使用标准正态 CDF 和 PDF(优化)数值求解方程

Numerically Solving equations with Standard Normal CDF and PDF (Optimization) using R

我们如何使用 R 对下面的方程式进行数值求解?

请注意,这可以显示为凸面,并且有一个单独的线程。 https://stats.stackexchange.com/questions/158042/convexity-of-function-of-pdf-and-cdf-of-standard-normal-random-variable

这个问题已经发布在数学论坛上以获得封闭形式或其他理论方法,但似乎数值解决方案是可行的方法吗? https://math.stackexchange.com/questions/2689251/solving-equations-with-standard-normal-cdf-and-pdf-optimization

可以使用内置optimize函数直接优化原函数:

g <- function(x, xi) {
  (xi * x + dnorm(xi * x) / pnorm(xi * x))
}

fun <- function(x, xi, K) {
  K * g(x, xi) + (K - x) * g((K - x), xi)
}

optimize(fun, interval = c(0, 10), xi = 1, K = 1)
#> $minimum
#> [1] 1.173975
#> 
#> $objective
#> [1] 1.273246

你原来的问题f(x) = g(x)可以表述为求根问题f(x) - g(x) = 0。然后你可以使用uniroot函数来解决那。有关详细信息,请参阅 ?uniroot