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/11/08 11:35:06
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);