优化2个参数的功能

Ste*_*hen 4 optimization r

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

我有一个带有两个参数(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)
}
Run Code Online (Sandbox Code Playgroud)

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

bap*_*ste 7

试试这个,F你的功能在哪里,c(0,0)一个初始猜测,c=2并且d=pi/3是固定的参数F,

optim(c(0,0), F, c=2, d=pi/3)
Run Code Online (Sandbox Code Playgroud)

  • `optim`只会优化`F`的第一个参数,所以它需要是矢量`c(a,b)`.尝试`F =函数(p = c(1,1),c = 1){(p [1] - c)^ 2 +(p [2] -2*c)^ 2}` (2认同)