C语言牛顿迭代法求2x^3-4x^2+3x-6=0在1.5附近的根#include#includevoid main(){float b,c,y,y1,root,y2,x;x=1.5;do{b=pow(x,3);c=sqrt(x);y=b*2-4*c+3*x-6;y1=6*c-8*x+3;root=x; ①x=x-y/y1; ②y2=root-x;}while(fabs(y2)>1e-5);printf("%f\n",root);}
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/11 05:15:57
![C语言牛顿迭代法求2x^3-4x^2+3x-6=0在1.5附近的根#include#includevoid main(){float b,c,y,y1,root,y2,x;x=1.5;do{b=pow(x,3);c=sqrt(x);y=b*2-4*c+3*x-6;y1=6*c-8*x+3;root=x; ①x=x-y/y1; ②y2=root-x;}while(fabs(y2)>1e-5);printf(](/uploads/image/z/1856642-50-2.jpg?t=C%E8%AF%AD%E8%A8%80%E7%89%9B%E9%A1%BF%E8%BF%AD%E4%BB%A3%E6%B3%95%E6%B1%822x%5E3-4x%5E2%2B3x-6%3D0%E5%9C%A81.5%E9%99%84%E8%BF%91%E7%9A%84%E6%A0%B9%23include%23includevoid+main%28%29%7Bfloat+b%2Cc%2Cy%2Cy1%2Croot%2Cy2%2Cx%3Bx%3D1.5%3Bdo%7Bb%3Dpow%28x%2C3%29%3Bc%3Dsqrt%28x%29%3By%3Db%2A2-4%2Ac%2B3%2Ax-6%3By1%3D6%2Ac-8%2Ax%2B3%3Broot%3Dx%3B+%E2%91%A0x%3Dx-y%2Fy1%3B+%E2%91%A1y2%3Droot-x%3B%7Dwhile%28fabs%28y2%29%3E1e-5%29%3Bprintf%28%22%25f%5Cn%22%2Croot%29%3B%7D)
C语言牛顿迭代法求2x^3-4x^2+3x-6=0在1.5附近的根#include#includevoid main(){float b,c,y,y1,root,y2,x;x=1.5;do{b=pow(x,3);c=sqrt(x);y=b*2-4*c+3*x-6;y1=6*c-8*x+3;root=x; ①x=x-y/y1; ②y2=root-x;}while(fabs(y2)>1e-5);printf("%f\n",root);}
C语言牛顿迭代法求2x^3-4x^2+3x-6=0在1.5附近的根
#include
#include
void main()
{
float b,c,y,y1,root,y2,x;
x=1.5;
do
{
b=pow(x,3);
c=sqrt(x);
y=b*2-4*c+3*x-6;
y1=6*c-8*x+3;
root=x; ①
x=x-y/y1; ②
y2=root-x;
}
while(fabs(y2)>1e-5);
printf("%f\n",root);
}
编译和链接都通过了,就运行的时候显示溢出(一段英文).
当我把1式和2式对调位置后,运行有结果.但貌似结果不对.
C语言牛顿迭代法求2x^3-4x^2+3x-6=0在1.5附近的根#include#includevoid main(){float b,c,y,y1,root,y2,x;x=1.5;do{b=pow(x,3);c=sqrt(x);y=b*2-4*c+3*x-6;y1=6*c-8*x+3;root=x; ①x=x-y/y1; ②y2=root-x;}while(fabs(y2)>1e-5);printf("%f\n",root);}
c = sqrt(x); 这句是错的,sqrt是求根,应该是c = pow(x,2);