用牛顿迭代法求方程:2x3-4x2+3x-6=0在1.5附近的根(精度:10-5)
什么是牛顿迭代法?

求方程的根,可以转换为求函数f(x)=2x3-4x2+3x-6的根
根据牛顿切线迭代法,我们可以设x0=1.5,
设切线方程为:y=kx+b
K=f(x)求导=F(x)
切线方程过点(x0,f(x0))得:f(x0)=kx0+b,可知b=f(x0)-kx0;
求切线方程与x轴的焦点x1的值:0=kx1+b,得x1=-(b/k),将b和k带入得:
x1=-( f(x0)-kx0)/ F(x)=-( f(x0)- F(x)*x0)/ F(x)=x0-f(x0)/F(x0)
程序循环部分:
将x1的值存入x0,根据x1的公式求出下一个x1的值。
循环结束条件:x1-x0的绝对值小于10-5
当循环结束时,输出方程的根x1。
程序代码如下:
//习题5.14用牛顿迭代法求方程在1.5附近的根
#include<stdio.h>
#include<math.h>
int main()
{
double x0,x1,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 equation is %5.2lf",x1);// the root of equation:方程的根/解
return 0;
}