snower 需要求解多元函数的极值。代码如下: x <- seq (0,pi,length=30) y <- x f <- function(x,y) { (0.02*sin(x)*sin(y)-0.03*sin(2*x)*sin(y)+0.04*sin(x)*sin(2*y)+0.08*sin(2*x)*sin(2*y)) } optim(c(0.8,2.3,-0.1),f) 但是总是提示:Error in sin(y) : 'y' is missing 求问这是什么问题。。求助。。
Ihavenothing 回复 第1楼 的 snower: f = function(val) {<br /> x = val[1];<br /> y = val[2];<br /> s = 0.02*sin(x)*sin(y) - 0.03*sin(2*x)*sin(y);<br /> s = s + 0.04*sin(x)*sin(2*y) + 0.08*sin(2*x)*sin(2*y)<br /> }<br /> optim(c(0.1, 0.1), f) 函数只能有一个参数,然后像这种周期函数只能求局部最优。 </p>