4

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

我有一个带有两个参数(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)
}

但是这种方式太长了,我想优化一下。我怎样才能做到这一点 ?

4

2 回答 2

7

Try this, where F is your function, c(0,0) an initial guess, c=2 and d=pi/3 are fixed parameters fed to F,

optim(c(0,0), F, c=2, d=pi/3)
于 2013-03-18T23:18:29.710 回答
2

我觉得这会让你更接近你正在寻找的东西:

a=seq(0, 5, by=0.1)
b=seq(0.1, 5, by =0.1)
outer(a, b, FUN=F)
于 2013-03-18T20:55:09.620 回答