用标准法向CDF和PDF(优化)用R

用标准法向CDF和PDF(优化)用R,r,optimization,numerical-methods,equation-solving,R,Optimization,Numerical Methods,Equation Solving,我们如何用R来数值求解下面这类方程 请注意,这可以显示为凸面,并且这上面有一个单独的螺纹。 这个问题已经发布在数学论坛上,以获得封闭形式或其他理论方法,但似乎数值解才是出路? 您可以使用内置的优化功能直接优化原始功能: 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 -

我们如何用R来数值求解下面这类方程

请注意,这可以显示为凸面,并且这上面有一个单独的螺纹。

这个问题已经发布在数学论坛上,以获得封闭形式或其他理论方法,但似乎数值解才是出路?

您可以使用内置的
优化
功能直接优化原始功能:

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
g[1]1.173975
#> 
#>$objective
#> [1] 1.273246

原始问题f(x)=g(x)可以表示为根查找问题f(x)-g(x)=0。然后,您可以使用
uniroot
函数来解决这个问题。有关详细信息,请参见uniroot。

您可以使用内置的
优化
函数直接优化原始函数:

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
g[1]1.173975
#> 
#>$objective
#> [1] 1.273246

原始问题f(x)=g(x)可以表示为根查找问题f(x)-g(x)=0。然后,您可以使用
uniroot
函数来解决这个问题。有关详细信息,请参见
?uniroot

您看过这些软件包吗?@RalfStubner。。。谢谢你的建议。我以前从未见过这些包裹。我简单地看了一下。如果您有任何进一步的建议,我们将不胜感激。您看过这些软件包吗?@RalfStubner。。。谢谢你的建议。我以前从未见过这些包裹。我简单地看了一下。如果您有任何进一步的建议,我们将不胜感激。哇,三行:-)谢谢。。我会尝试一下,如果有任何进一步的问题,我会与你联系。您还可以让我知道如何求解上面所示的方程,这些方程是在对原始极小化问题求FOC或导数后产生的。@user249613查看展开的答案。@再次感谢您非常有用且非常容易理解的答案。哇,三行:-)谢谢。。我会尝试一下,如果有任何进一步的问题,我会与你联系。您还可以让我知道如何求解上面所示的方程,这些方程是在对原始极小化问题求FOC或导数后产生的。@user249613请参阅展开的答案。@再次感谢您非常有用且非常容易理解的答案。