如何找到在特定区间内具有多个变量的函数的优化

  • 本文关键字:变量 函数 优化 何找 区间 r
  • 更新时间 :
  • 英文 :

func_2 <- function(p,N){
f <- sqrt ((p* (1- p) )/N)
return(f)
}
maxmim <- optimize(func_2, c(0,1), maximum = TRUE)

错误消息不断弹出,上面写着"argument";N〃;缺少,如何查找p的优化值?

在实践中,可以使用optim来查找双变量函数的最大值。然而,它需要矢量输入:

func_3 <- function(vec){
func_2(vec[1],vec[2])
}

然后你可以做这样的事情:

optim(par = c(p = 0.1, N = 0.1), fn =  func_3, 
lower = c(p = 0, N = 0), upper = c(p = 1, N = 1),
method="L-BFGS-B", control = list(fnscale = -1))

然而,函数在0到1的区间内最大化,p=0.5,N=极限,N接近0。这计算为NaN,因此optim无法使用与下限和上限兼容的方法找到。

最新更新