用牛顿迭代法求方程的根
题目
用牛顿迭代法求方程2x3 - 4x2+3x-6=0在1.5附近的一个实根,
提示:牛顿迭代公式:x=x0-f(x)/f '(x);
设迭代 |x-x0|<= 10-5 结束
代码
fun5(){
double x,x1,f,f1;
x1=1.5;
do {
x=x1;
f=2*x*x*x-4*x*x+3*x-6;
// f=2*pow(x,3)-4*pow(x,2)+3*x-6;
// 这里可以使用pow(double,double)函数
f1=6*x*x-8*x+3;
// f1=6*pow(x,2)-8*x+3;
x1=x-f/f1;
} while (fabs(x-x1)<=10e-5);
printf("%5.2f",x1);
}
总结:
通过这道题,要知道绝对值函数fabs(),幂函数pow (double, double);的使用,还有确保科学计数法的正确表示。 这些小的知识点积攒起来,不然考试的时候忘记了,难受。