优化2个参数的功能

时间:2013-03-18 20:46:53

标签: r optimization

我的问题可能很常见,但我不知道如何调整这个问题的答案

我有一个带有两个参数(a,b)的函数F,我必须找到这个函数的最大值。

现在,我这样做:

optimization_of_F<-function(a,b){
  solution=c(0,0,0) #initialization 
  a=seq(0, 5, by=0.1)
  b=seq(0.1, 5, by =0.1)

  for (d in a){ 
    for (k  in b){ 
      if  ( F(d, k) > solution[1] )  {
        solution[1]= F(d,k)
        solution[2]= d
        solution[3]= k
      }  
    }     
  }
  return(solution)
}

但这种方式太长了,我想优化它。我怎么能这样做?

2 个答案:

答案 0 :(得分:7)

试试这个,其中F是您的功能,c(0,0)是一个初始猜测,c=2d=pi/3是固定参数,输入F

optim(c(0,0), F, c=2, d=pi/3)

答案 1 :(得分:2)

我觉得这会让你更接近你想要的东西:

a=seq(0, 5, by=0.1)
b=seq(0.1, 5, by =0.1)
outer(a, b, FUN=F)