1
如何設置以下二分法代碼最大迭代= 20?我應該只在feval上工作嗎?還是其他什麼?設置二分法的最大迭代次數?
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)
}
這隻會給你18次迭代,除非你初始化'0。 – eugen 2013-03-09 19:18:37
它的工作feval'!謝謝你的幫助。 – 2013-03-09 19:18:41
@eugen,你說得對,我正在考慮功能評估,修正。如果 – 2013-03-09 19:22:42