repeat那段程序有问题。
repeat{
if(abs(b-a)<eps) break
x<-(a+b)/2
if(f(a)*f(b)<0) b<-x else a<-x
}
list(root=(a+b)/2,fun=f(x))
}
第四行 if(f(a)*f(b)<0),应该改为 if(f(a)*f(x)<)
上一行已经给x赋值,所以这里要用f(x)
你再试一下
京ICP备16021002-2号 京B2-20170662号
京公网安备 11010802022788号
论坛法律顾问:王进律师
知识产权保护声明
免责及隐私声明