用牛顿迭代法求一元多次方程

2014-11-23 18:00:17 · 作者: · 浏览: 19

  用牛顿迭代法求下面方程y=x^3-5x^2+16x-80的实根的过程是:


  1.你想在谁附近求解,这个范围或者这个数值大多是题目已经给定了的(本例是根据输入的数值来计算的)


  2.令f(x)=x*x*x-5*x*x+16*x-80


  3.x1=X


  4.求f(x1)


  5.对f(x)求导,得到f1(x),求f1(x1)


  6.调整x,使x=x1-f(x1)/f1(x1)


  7.符合条件x-x1>1e-5,转到第3步


  8.不符合条件x-x1>1e-5,则x1就是我们要求的实根


  #include


  #include


  //y=x^3-5x^2+16x-80


  float f(float x)


  {


  return (pow(x,3)-5*pow(x,2)+16*x-80);


  }


  float f1(float x)


  {


  return (3*pow(x,2)-10*x+16);


  }