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

时间:2018-03-14 01:42:56

标签: r optimization numerical-methods equation-solving

我们如何使用R?

在数值上求解下面的等式

enter image description here

enter image description here

请注意,这可以显示为凸面,并且在此处有一个单独的线程。 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

1 个答案:

答案 0 :(得分:2)

您可以使用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