使用 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
。
我们如何使用 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
。