R 为二分法设置最大迭代次数?

R 为二分法设置最大迭代次数?,r,maximize,R,Maximize,如何为以下二分法代码设置最大迭代次数=20?我应该只在假期工作还是做别的 rf.bisection <- function(f, lower, upper, tol=1e-4) { flow <- f(lower) fupper <- f(upper) feval <- 2 if (flow * fupper > 0) stop("The given interval does not contain the root! \n") diff <-

如何为以下二分法代码设置最大迭代次数=20?我应该只在假期工作还是做别的

rf.bisection <- function(f, lower, upper, tol=1e-4) { 
flow <- f(lower) 
fupper <- f(upper) 
feval <- 2 

if (flow * fupper > 0) stop("The given interval does not contain the root!
\n") 
diff <- upper - lower 

while (abs(diff) > tol) { 
    newpoint <- (lower + upper) / 2 
    newf <- f(newpoint) 
    if (abs(newf) <= tol) break 
    if (flow * newf < 0) upper <- newpoint 
    if (fupper * newf < 0) lower <- newpoint 
    diff <- upper - lower 
    feval <- feval + 1 
} 
list(x = newx, value = newf, fevals=feval) 
} 

rf.bisection将
while中的条件更改为
while(abs(diff)>tol&feval这只会给你18次迭代,除非你用0初始化
feval
。@eugen,你是对的,我在考虑函数求值,修正了。@Gucci如果你认为这个答案足够好,请将它标记为已接受,这样问题就不会显示在未回答的问题列表中。我做了,但系统让我等待大概7分钟。对不起,我忘了时间限制。