我的问题可能很常见,但我不知道如何调整这个问题的答案
我有一个带有两个参数(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)
}
但这种方式太长了,我想优化它。我怎么能这样做?
答案 0 :(得分:7)
试试这个,其中F
是您的功能,c(0,0)
是一个初始猜测,c=2
和d=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)