1、1 实验目的1) 通过创新算法加深对非线性方程求根方法的了解;2) 通过用 C 语言求解例题加强对编程语言的掌握。2 实验内容通过二分法寻找非线性方程的优化初始根,再用迭代法求解满足精度的解。将两种方法结合以加快对非线性方程组的求根速度。3 实验步骤1) 判断根的存在性此步可利用作图法或其他基本方法进行求解。2) 利用二分法确定根的初始近似值给定区间a,b,并设 与 符号相反,取 为根的容许误差, 为()fafb的容许误差。|()|fx令 ;()/2cab如果 ,则输出 c,结束;否则执行 ;|()#include#include#define f(x) sqrt(4-log(x)#defin
2、e e 0.0005void main()int i;double x1,x0;printf(“Please input x0:n“);scanf(“%lf“,for(i=1;i#include#define f(x) sqrt(4-log(x)#define e 0.05#define MAX 500main()double a=1.0,b=2.0,m;for(int i=1;i=MAX;i+)m=(a+b)/2;if(f(a)*f(m)0)b=m;elsea=m;printf(“第%d 次 The root is %d=%fn“,i,(a+b)/2);if(fabs(b-a)e)break;2)结果分析区间二分法收敛比较慢,在实际计算中,区间二分法常用来求比较好的含根区间和初始近似根。而迭代法的精确度较高,将二分法和迭代法有机地结合在一起求解非线性方程,可以很好地提高非线性方程的求根速度。