牛顿法求一元高次方程
教材上一道例题,2x^3-4x^2+3x-6=0,用牛顿迭代法求这个方程在1.5附近的根,教材的方法我很不理解,为什么求导的过程要手工进行,这么复杂的求导和分解因式都做完了还写程序让计算机干什么啊?
[code=C/C++][/code]#include<stdio.h>
#include<math.h>
int main()
{
double x1,x0,f,f1;
x1 = 1.5;
do
{
x0 = x1 ;
f=((2*x0-4)*x0+3)*x0-6;
f1=(6*x0-8)*x0+3;
x1 = x0-f/f1;
}while(fabs(x1-x0)>=1e-5);
printf("the root of the equation is %6.2f\n",x1);
return 0 ;
}
[解决办法]
计算机又不是智能的,它也要分析你这个方程,要一步步得出你这个方程用人的方法是怎么解出来的,才能形成一个算法,计算机下次才知道怎么算这种方程好吧。