预览加载中,请您耐心等待几秒...
1/2
2/2

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

1、给定初值x0及容许误差,编制Newton法界方程f(x)=0根的通用程序。 Newton法的迭代构造方程为:x(n+1)=x(n)-f(x)/f”(x). #include<stdio.h> #include<math.h> doubleF1(doublex);//声明要求解的函数 doubleF2(doublex);//声明要求解函数的一阶导数 doubleNewton(doublex0,doublee);//声明通用Newton迭代子程序 main() { doublex0,e=ε; printf(“x=%f\n”Newton(x0,e)); getchar(); } doubleF1(doublex)//定义要求解的函数F1(x) {returnF1(doublex);} doubleF2(doublex)//定义要求解的函数F2(x) {returnF2’(doublex);} doubleNewton(doublex0,doublee)//定义Newton迭代格式 { doublex1; do {x1=x0; x0=x1-F1(x1)/F2(x); } while(faba(x0-x1)>e); returnx0; } 2.#include<stdio.h> #include<math.h> doubleF1(doublex); doubleF2(doublex); doubleNewton(doublex0,doublee); main() { doublex0=-1.5135,e=10E-6; printf("x=%f\n",Newton(x0,e)); getchar(); } doubleF1(doublex) {returnx*x*x/3-x;} doubleF2(doublex) {returnx*x-1;} doubleNewton(doublex0,doublee) { doublex1; do { x1=x0; x0=x1-F1(x1)/F2(x1); } while(fabs(x0-x1)>e); returnx0; } 经过带入测试,δ可以取到0.77459 当x0(-∞,-1)时,Newton收敛于-√3,(-1,-δ)时收敛于-√3,在(-δ,δ)收敛于0,在(δ,1)收敛于√3,在(1,∞)收敛于√3. 3.通过本题可知,Newton迭代法的初值选择很重要,尽可能的缩小收敛区间,可以减少运算量。