用牛顿迭代法求根.a*x*x*x+b*x*x+c*x+d=0.系数a,b,c,d的值依次为1,2,3,4,由
问题描述:
用牛顿迭代法求根.a*x*x*x+b*x*x+c*x+d=0.系数a,b,c,d的值依次为1,2,3,4,由
主函数输入.求x在1附近的一个实根.求出根后有主函数输出.
y1=x*(x*(x+2)+3)+4;
y2=x*(3*x+4)+3;
答
#include#includevoid main(){ double x0,x,y1,y2; printf("input x\n"); scanf("%lf",&x); do{ x0=x; y1=x*(x*(x+2)+3)+4; y2=x*(3*x+4)+3; x=x0-y1/y2;} while(fabs(x-x0)>=1e-5);printf("%lf",x);}