我想通过RStudio中的迭代将牛顿法应用于平方根,但是我总是遇到错误
“错误:C堆栈使用率7969204太接近限制了”
当我在'g'中输入错误的sqrt时。相反,当我直接输入正确的数字时,代码可以正常工作(例如:sqriter(2,4)-> 2)
下面是我为此编写的代码。
感谢您的帮助!
sqriter <- function(g,x){
ifelse(goodguess(g,x), g, sqriter(improve(g,x), x))
}
goodguess <- function(g,x){
abs(g*g-x)<0.001
}
average <- function(g,x){
((g+x)/2)
}
improve <- function(g,x){
average(g, (g/x))
}