{
a=m
c=n
}
else
{
b=m
d=n
}
改为
if(m*d<0)
{
a=m
c=m
}
else
{
b=m
d=m
}
这段代码是求解方程f(x)=0在区间[-10,10]上的根的数值解。方法的思想就是:一直选取区间中间的数值,如果发现中间的函数值与一侧函数值,异号,那么说明解在这个更小的区间中,采用eps=1e-5作为区间的极限大小,通过迭代的方法求解这个方程的数值解。
所以了解了上述思想,那么else
if(f(a)*f(c)<0)
b=c
说明的是
f(a)和f(c)异号,那么使用b=(a+b)/2缩小迭代区间,继续迭代;同理else
a=c说明f(a)和f(c)同号,那么使用a(a+b)/2缩小迭代区间,继续迭代!