牛顿迭代法求方程的根用迭代法求x3+9.2x2+16.7x+4=0在x=0附近的实根,迭代精度10-5(这里似乎不能打上

牛顿迭代法求方程的根
用迭代法求x3+9.2x2+16.7x+4=0在x=0附近的实根,迭代精度10-5(这里似乎不能打上标这是10的-5次 凑合看吧不好意思)
刚刚接触C语言不懂得太多
我自己写出来了一个 运行对了 呵呵
#include
main()
{
float f,fd,x,x1;
x=0;
do
{
f=x*x*x+9.2*x*x+16.7*x+4;
fd=3*x*x+18.4*x+16.7;
x1=x-f/fd;
x=x1;
} while(fabs(f/fd)>1e-5);
printf("x=%.6f",x1);
}
佳宝高钙酸奶 1年前 已收到1个回答 举报

zlxiang111 幼苗

共回答了13个问题采纳率:84.6% 举报

用^即可表示上标,10^(-5)可以表示10的-5次方.
#include
#include
double f( double x )
{
return x * x * x + 9.2 * x * x + 16.7 * x + 4;
}
double fdx( double x )
{
return 3 * x * x + 18.4 * x + 16.7;
}
int main( )
{
int t1 = 0, t2 = 1;
double x[ 2 ], ep = 1e-5;
x[ 0 ] = 0;
do
{
t1 = 1 - t1;
t2 = 1 - t2;
x[ t1 ] = x[ t2 ] - f( x[ t2 ] ) / fdx( x[ t2 ] );
} while( fabs( x[ t1 ] - x[ t2 ] ) > ep );
printf("%lfn", x[ t1 ]);
return 0;
}

1年前

5
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.041 s. - webmaster@yulucn.com