本文共 525 字,大约阅读时间需要 1 分钟。
/* 本实验用弦截法求方程x= e^(-x)在初始值x0 = 0.5附近的一个根。*/#include#include double f(double x){ return (x - exp(-x));}int main(){ double x1, x2; double x0 = 0.5; //迭代初值 double eps = 0.0001; //求解精度 int k = 0; //迭代次数 do{ k++; x2 = x1 - f(x1) * (x1 - x0) / (f(x1) - f(x0)); printf("%d %f\n", k, x2); x0 = x1; x1 = x2; }while(fabs(x1 - x0) >= eps); printf("the root of f(x) is x = %f, k = %d\n", x1, k); return 0;}
实验结果: