当你将精度改为10^(-6)时,精度要求更高了,比原先的精度提高了一个数量级,按照二分法迭代求解,要迭代更多的次数才能在更加逼近解的邻域内找到一个当前误差允许的数值解,你可以在这段程序里的第19行设置断点然后步进就可以发现,i从1循环到20都没有出现(c == 0)||((b - a)/2 < 10^(-6))的情况,这个时候一种情况是你可以降低数值解的精度,比如说选择一个比10^(-6)大的值来作为精度;另一种情况是增加迭代次数,当迭代次数足够大,肯定可以找到当前误差允许的数值解
把迭代次数改为22就可以了,第八行:while i <= 20,把20改成22
没clear all吧